【发布时间】:2014-03-29 18:02:39
【问题描述】:
非常简单的问题。请不要打我。 :)
我通过扩展AbstractTableModel创建了一个表模型如下:
public class InventoryTableModel extends AbstractTableModel {
private static final String[] COLUMN_NAMES = { "On Sale", "Name", "Selling Price", "Description" };
@Override
public int getColumnCount() {
return COLUMN_NAMES.length;
}
@Override
public int getRowCount() {
return 0;
}
@Override
public String getColumnName(int columnIndex) {
return COLUMN_NAMES[columnIndex];
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return null;
}
}
接下来,我使用这个表格模型创建一个JTable,并将其显示在一个布局为BorderLayout的面板中:
JTable inventoryTable = new JTable(new InventoryTableModel());
mainPanel.add(inventoryTable, BorderLayout.CENTER);
请注意,mainPanel 最终会出现在滚动窗格中:
scrollPane.setViewportView(mainPanel);
由于某种原因,我没有看到表格标题。这是我所有的节目:
(注意,空白是表格所在的位置。)
为了确保表格放置正确,我修改了 getRowCount 方法以返回 1:
@Override
public int getRowCount() {
return 1;
}
现在这就是我所看到的:
谁能告诉我为什么我的列标题不见了?我知道这很简单,但我的大脑被炸了,我似乎无法弄清楚。
谢谢。
更新,基于Josh M's answer 我将表格放在滚动窗格中。这行得通,但这就是我的应用程序现在的样子:
注意垂直滚动条。
【问题讨论】:
标签: java swing jtable invisible jtableheader