Eclipse で Visual Editor を使用して、2 つの列 (JTableColumn) を持つテーブル (JTable) を含む Swing UI を開始しました。この方法でテーブルにデータを追加します。
final DefaultTableModel model = (DefaultTableModel) this.jTable.getModel();
model.addRow(new Object[] {"Column 1", "Column 2"});
ArrayIndexOutOfBoundsException を生成しました。テーブルをサポートするモデルの列数を設定することでこれを解決しました。
model.setColumnCount(this.jTable.getColumnCount());
しかし、この呼び出しの後、UI エディターを使用して定義したテーブルの列ヘッダーが "A" と "B" に変更されます。今、私が行ったように生成されたコードを修正する必要があるのか 、それともビジュアルエディターでUIを構築するより良い方法があるのか 疑問に思っていますか?
完成させるために、これはテーブルと列を定義するために生成されたコードです。
private JTable getJTable() {
if (this.jTableSongs == null) {
final TableColumn tableColumn1 = new TableColumn();
tableColumn1.setHeaderValue("Header 1");
final TableColumn tableColumn2 = new TableColumn();
tableColumn2.setHeaderValue("Header 2");
this.jTableSongs = new JTable();
this.jTableSongs.addColumn(tableColumn1);
this.jTableSongs.addColumn(tableColumn2);
}
return this.jTable;
}