[英]JTable Missing Column Headers
Really simple question. 真的很简单的问题。 Don't bash me please.
请不要害我。 :)
:)
I created a table model by extending AbstractTableModel
as follows: 我通过扩展
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;
}
}
Next, I create a JTable
using this table model and show it in a panel with layout BorderLayout
: 接下来,我使用此表模型创建一个
JTable
并将其显示在具有BorderLayout
布局的面板中:
JTable inventoryTable = new JTable(new InventoryTableModel());
mainPanel.add(inventoryTable, BorderLayout.CENTER);
Note that mainPanel
eventually ends up inside a scroll pane: 请注意,
mainPanel
最终会在滚动窗格中结束:
scrollPane.setViewportView(mainPanel);
For some reason I am not seeing the table headers. 由于某种原因,我没有看到表头。 Here is all my program shows:
这是我所有的节目显示:
(Note, the white space is where the table is.) (请注意,空格是表格所在的位置。)
To make sure the table is being placed properly I modified the getRowCount
method to return 1: 为了确保正确放置表,我修改了
getRowCount
方法以返回1:
@Override
public int getRowCount() {
return 1;
}
And now this is what I see: 现在,这就是我所看到的:
Can anyone tell me why my column headers are missing? 谁能告诉我为什么我的列标题丢失了? I know it's something simple but my brain is fried and I just can't seem to figure it out.
我知道这很简单,但是我的大脑已经炸了,我似乎无法弄清楚。
Thank you. 谢谢。
Update, based on Josh M's answer I placed the table inside a scroll pane. 根据Josh M的答案进行更新,我将表格放在了滚动窗格中。 That worked but this is how my application looks now:
那行得通,但这就是我的应用程序现在的样子:
Note the vertical scroll bar. 请注意垂直滚动条。
Change: 更改:
mainPanel.add(inventoryTable, BorderLayout.CENTER);
To 至
mainPanel.add(new JScrollPane(inventoryTable), BorderLayout.CENTER);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.