使用 Eclipse 中的可视化编辑器,我启动了一个 Swing UI,其中包含一个具有 2 列 (JTableColumn) 的表 (JTable)。以这种方式将数据添加到表中:
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;
}