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
  • JPanelAPIにFlowLayout実装されている場合は、ロジックを使用して正しく配置されています(追加JPanel、追加)JComponentsJTableHeaderJTable

  • BorderLayoutそれをand に変更しJTableHeaderNORTH/SOUTHJTableCENTER

  • JScrollPanefor を使用するとJTables view、他のすべてが煩わしく、非常に醜い方法で LayoutManager計算されます。PreferredSize

于 2013-01-09T10:48:57.920 に答える