我的JTable标识符不会显示。 我尝试了很多不同的东西,但即便有一点变化...... 所以现在我在这里问。
我的代码:
public void showTable() {
String[] heads = {"PersonID", "Name", "Date", "Age"};
DefaultTableModel model = new DefaultTableModel();
model.setColumnIdentifiers(heads);
model.setRowCount(4);
JTable table = new JTable(model);
int row = 2;
table.setValueAt("Test1", row, 0);
table.setValueAt("Test2", row, 1);
table.setValueAt("Test3", row, 2);
table.setValueAt("Test4", row, 3);
mainBackgroundManager.add(table, BorderLayout.CENTER);
}
显示的是:
我也试过写这个但是也不行:
public void showTable() {
DefaultTableModel model = new DefaultTableModel();
model.setRowCount(4);
model.setColumnCount(4);
JTable table = new JTable(model);
table.getColumnModel().getColumn(0).setHeaderValue("PersonID");
table.getColumnModel().getColumn(1).setHeaderValue("Name");
table.getColumnModel().getColumn(2).setHeaderValue("Date");
table.getColumnModel().getColumn(3).setHeaderValue("Age");
int row = 2;
table.setValueAt("Test1", row, 0);
table.setValueAt("Test2", row, 1);
table.setValueAt("Test3", row, 2);
table.setValueAt("Test4", row, 3);
mainBackgroundManager.add(table, BorderLayout.CENTER);
}
谢谢。
答案 0 :(得分:6)
有两种方法可供选择。来自JTable API的难度更大:
"请注意,如果您希望在独立视图中使用JTable(在外部 一个JScrollPane)并希望显示标题,你可以使用它 getTableHeader()并单独显示。"
看起来像那样:
JTableHeader header = table.getTableHeader();
mainBackgroundManager.add(header, BorderLayout.NORTH);
mainBackgroundManager.add(table, BorderLayout.CENTER);
更容易(首选):
将JTable
放在JScrollPane
内。试试这个:
mainBackgroundManager.add(new JScrollPane(table), BorderLayout.CENTER);