我创建了一个仅用于练习的应用程序,其中包含JTable
,以显示来自我的数据库的数据。
我的问题是该表显示在屏幕上一半的面板中。我已经尝试了一切来扩展列而没有成功。有人能告诉我如何修改表格吗?
以下是创建表格的代码:
public void createTable() {
JTable table = new JTable();
DefaultTableModel tableModel = new DefaultTableModel(new Object[][]{},new String[]{"To do","Date added"});
table.setSize(450, 600);
table.setModel(tableModel);
for(int i = 0; i < model.getId().size(); i++) {
tableModel.addRow(new Object[]{model.getItem().get(i), model.getDate().get(i)});
}
add(table.getTableHeader());
add(table);
}
以下是它现在的样子:
另外我想问一下table.getTableHeader()因为如果我不添加它没有显示,因为它是表的一部分..这是正常的吗?
答案 0 :(得分:4)
JPanel
已在API中实施FlowLayout
,然后您的JPanel
正确放置JComponents
,并使用您的逻辑(添加JTableHeader
,添加{{} 1}})
将其更改为JTable
并将BorderLayout
添加到JTableHeader
/ NORTH
和SOUTH
JTable
< / p>
对CENTER
使用JScrollPane
,其他一切都在为JTables view
而烦恼,并以非常丑陋的方式计算LayoutManager
,