模型更改时自动更新jtable列

sou*_*ver 2 java swing jtable abstracttablemodel

我有一个实现TableModel接口的类.当我在我的jTable上调用setModel并将我的类设置为模型然后调用jTable.updateUI();一切都很好.但在某些情况下,我想用不同的结构更改模型.显示数据仍然可以正常工作,但我的列不会更新.有没有办法强制我的表也刷新新模型的列?

Puc*_*uce 6

如果数据和结构都发生了变化,模型需要触发相应的事件,例如:fireTableStructureChanged.

http://docs.oracle.com/javase/tutorial/uiswing/components/table.html#fire

  • 最有可能的,你真的应该.DefaultTableModel是一种非常以数据为中心的方法,而不是面向对象的方法,这会导致许多设计问题.另一方面,自定义模型(通常基于AbstractTableModel)可以包装对象列表. (2认同)