基于Table视图自动更改TableModel?

时间:2011-11-13 05:14:16

标签: java swing event-handling jtable

所以我正在开发一个GUI,它涉及使用可以排序的表。我注意到,当我对表进行排序,并从新排序的表中选择一行时,该行的选定行索引指向排序之前的数据行。我明白这是因为视图已经改变,但模型没有;因此,您需要convertRowIndexToModel。根据我的理解,可以通过触发TableModelEvent来自动更新基于模型更改的视图。

所以这是我的问题:是否可以根据对视图的更改自动更新TableModel,以便我不必担心将视图索引转换为表索引?

1 个答案:

答案 0 :(得分:2)

所有默认表格代码都会自动执行此操作,因此您无需担心这一点。也就是说,如果您使用table.getValueAt(...)和table.setValueAt(...)方法引用模型,那么您就不会有问题。

只有您编写的试图直接访问TableModel的代码才会出现问题。在这种情况下,这就是convertXXX(...)方法的用途。