我在修改每一行之后调用了firetablerowsupdate,所以所选的索引不再正确。
我有一个JXTable
,其中模型是不同对象的List
。当我尝试将视图索引映射到模型索引后,按所选列标头排序视图时,会出现一个问题。使用下面的代码,
int[] selecteds = getTableMember().getSelectedRows();
if (selecteds != null && selecteds.length > 0) {
for (int row : selecteds) {
int rr = getTableMember().convertRowIndexToModel(row);
System.out.println(row+":"+rr);
}
}
我得到这样的结果:
<>之前11:24012:32813:117414:32815:1174>之前我不明白为什么不同的视图索引映射到相同的模型索引?
<解决问题/strong>:
检查List
中的对象是否不同。特别是DefaultRowSorter
所使用的Comparator
必须正确实现。注意,默认值依赖于底层对象的toString()
方法,但是您可以指定自己的实现。