3

我创建了一个仅用于锻炼目的的应用程序,其中包含一个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() 因为如果我不添加它就不会显示,因为它是表格的一部分。这正常吗?

4

1 回答 1

4
  • JPanel已经FlowLayout在 API 中实现,然后你的JPanel布局JComponents正确,你的逻辑(添加JTableHeader,添加JTable

  • 将其更改为andBorderLayout放入/和JTableHeaderNORTHSOUTHJTableCENTER

  • 使用JScrollPanefor JTables view,其他一切都在为非常丑陋的方式 而烦恼LayoutManager和计算,PreferredSize

于 2013-01-09T10:48:57.920 回答