JXTable convertrowindextommodel排序后结果错误



我有一个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>:

我在修改每一行之后调用了firetablerowsupdate,所以所选的索引不再正确。

检查List中的对象是否不同。特别是DefaultRowSorter所使用的Comparator必须正确实现。注意,默认值依赖于底层对象的toString()方法,但是您可以指定自己的实现。

最新更新