我使用DataModel扩展了我的Jtable的AbstractTableModel。
当我使用构造函数JTable main = new JTable(model);
时
一切正常,但是当我向我的DataModel添加列并调用this.fireTableStructureChanged()
时,列数不会更新,如下例所示。
它显示了一个用我的DataModel初始化的JTable,它包含3行和3列。 DataModel已更新为4行4列,但只显示3列。
我的Changeevent似乎错了,因为:
JTable.getColumnCount() shows 3
but DataModel.getColumnCount() shows 4
我如何告诉表格列数已更改并应重新绘制它们?
答案 0 :(得分:3)
JTable还有一个TableColumnModel,它包含要显示的所有列。向模型添加其他列时,除非将表的autoCreateColumnsFromModel
属性设置为true(table.setAutoCreateColumnsFromModel(true)
),否则列模型仍具有旧列数。
另一种方法是手动将另一列添加到列模型中。