Может ли кто-нибудь сказать мне, как создать таблицу без заголовка таблицы?JTable без заголовка
Я делаю головоломку Sudoku, и я хочу создать таблицу без заголовка таблицы в Java. Является ли это возможным?
Может ли кто-нибудь сказать мне, как создать таблицу без заголовка таблицы?JTable без заголовка
Я делаю головоломку Sudoku, и я хочу создать таблицу без заголовка таблицы в Java. Является ли это возможным?
Я не думаю, что вы хотите, чтобы ваш Судоку для прокрутки, так что самый простой способ должен быть не поставить свой стол в JScrollPane
, который отвечает за отображение заголовка:
другой способ заключается в вызове
table.setTableHeader(null);
Для меня ни одно решение не влияет на заголовок. Я даже попробовал 'table.getTableHeader.setVisible (false)', но у меня все еще есть пустое серое пятно, где будет заголовок. Я знаю, что это старый пост; изменился API, или я чего-то не хватает? –
Похоже, что вы чего-то не хватает, я просто попробовал оба предложенных способа, и они работают. Установка невидимого TableHeader действительно оставляет серое пятно, так как макет не изменяется. Если вы не можете его решить, не стесняйтесь задавать другой вопрос с кратким примером, чтобы воспроизвести вашу проблему и скриншот результата. –
Так трюк, кажется, в первый набор заголовок с использованием конструктора DefaultTableModel, но затем для вызова setTableHeader (null);
Вот некоторые демо-код:
package net.raysforge.visual.demo;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class JTableAndGBC {
private String[] columnNames = {"Source", "Hit", "Last", "Ur_Diff"};
private JTable table;
private Object[][] data = {{"Swing Timer", 2.99, 5, 1.01},
{"Swing Worker", 7.10, 5, 1.010}, {"TableModelListener", 25.05, 5, 1.01}};
private DefaultTableModel model = new DefaultTableModel(data, columnNames);
public JTableAndGBC() {
JPanel panel = new JPanel(new GridBagLayout());
table = new JTable(model);
GridBagConstraints gbc = new GridBagConstraints();
gbc.weightx = 1.0;
gbc.fill = GridBagConstraints.HORIZONTAL;
JScrollPane pane = new JScrollPane(table);
table.setPreferredScrollableViewportSize(table.getPreferredSize());
table.setTableHeader(null);
panel.add(pane, gbc);
JFrame frame = new JFrame();
frame.add(panel, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
public static void main(String args[]) throws Exception {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new JTableAndGBC();
}
});
}
}
Любой человек, имеющих проблемы с предлагаемыми методами, попробуйте следующее:
jTable.getTableHeader().setUI(null);
Это проверено на Java 8.
JtableProperties> TableHeader> CustomCode> Null
Не добавлять имена столбцов ... использовать любой другой конструктор ... или по умолчанию? Надеюсь, вы говорите о JTable .. – RubyDubee
@saurabh: 3133t говорить не приветствуется здесь. Я исправил ваш пост, но в следующий раз воздержусь от использования «any1», «plz thx» и нескольких «??». Могу ли я быть cheezburger? – SyntaxT3rr0r
какой стол? ему тоже нужны стулья? lol –