修改JTable以适应屏幕

时间:2013-01-09 10:34:29

标签: java swing jtable layout-manager

我创建了一个仅用于练习的应用程序,其中包含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);
}

以下是它现在的样子:

enter image description here

另外我想问一下table.getTableHeader()因为如果我不添加它没有显示,因为它是表的一部分..这是正常的吗?

1 个答案:

答案 0 :(得分:4)

  • JPanel已在API中实施FlowLayout,然后您的JPanel正确放置JComponents,并使用您的逻辑(添加JTableHeader,添加{{} 1}})

  • 将其更改为JTable并将BorderLayout添加到JTableHeader / NORTHSOUTH JTable < / p>

  • CENTER使用JScrollPane,其他一切都在为JTables view而烦恼,并以非常丑陋的方式计算LayoutManager