1

JTable 識別子が表示されません。いろいろ試してみましたが、少しも変化がありませんでした..だから今ここで質問しています。

私のコード:

public void showTable() {
    String[] heads = {"PersonID", "Name", "Date", "Age"};

    DefaultTableModel model = new DefaultTableModel();

    model.setColumnIdentifiers(heads);
    model.setRowCount(4);

    JTable table = new JTable(model);

    int row = 2;

    table.setValueAt("Test1", row, 0);
    table.setValueAt("Test2", row, 1);
    table.setValueAt("Test3", row, 2);
    table.setValueAt("Test4", row, 3);


    mainBackgroundManager.add(table, BorderLayout.CENTER);
}

表示されるのは次のとおりです。

私もこれを書き込もうとしましたが、それもうまくいきません:

public void showTable() {
    DefaultTableModel model = new DefaultTableModel();

    model.setRowCount(4);
    model.setColumnCount(4);

    JTable table = new JTable(model);

    table.getColumnModel().getColumn(0).setHeaderValue("PersonID");
    table.getColumnModel().getColumn(1).setHeaderValue("Name");
    table.getColumnModel().getColumn(2).setHeaderValue("Date");
    table.getColumnModel().getColumn(3).setHeaderValue("Age");

    int row = 2;

    table.setValueAt("Test1", row, 0);
    table.setValueAt("Test2", row, 1);
    table.setValueAt("Test3", row, 2);
    table.setValueAt("Test4", row, 3);


    mainBackgroundManager.add(table, BorderLayout.CENTER);
}

ありがとうございました。

4

1 に答える 1

6

あなたには2つの方法があります。JTable API からのより難しいもの:

「スタンドアロン ビュー (JScrollPane の外部) で JTable を使用し、ヘッダーを表示したい場合は、getTableHeader() を使用してヘッダーを取得し、個別に表示できます。」

次のようになります。

JTableHeader header = table.getTableHeader();

mainBackgroundManager.add(header, BorderLayout.NORTH);
mainBackgroundManager.add(table, BorderLayout.CENTER);

より簡単な方法 (推奨):の中に a を
入れます。これを試して:JTableJScrollPane

mainBackgroundManager.add(new JScrollPane(table), BorderLayout.CENTER);
于 2013-08-14T16:53:16.060 に答える