Java JXTable convertRowIndexToModel排序后的结果是否错误?

Java JXTable convertRowIndexToModel排序后的结果是否错误?,java,swing,swingx,jxtable,Java,Swing,Swingx,Jxtable,我有一个JXTable,其中模型是不同对象的列表。在按所选列标题对视图进行排序后,尝试将视图索引映射到模型索引时出现问题。使用此代码 int[] selecteds = getTableMember().getSelectedRows(); if (selecteds != null && selecteds.length > 0) { for (int row : selecteds) { int rr = getTableMember().con

我有一个
JXTable
,其中模型是不同对象的
列表。在按所选列标题对视图进行排序后,尝试将视图索引映射到模型索引时出现问题。使用此代码

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:240 12:328 13:1174 14:328 15:1174 11:240 12:328 13:1174 14:328 15:1174 我不明白为什么不同的视图索引映射到同一个模型索引

已解决问题
我在每行修改后立即调用了fireTableRowsUpdated,因此所选索引不再正确。

请验证
列表中的对象实际上是不同的。特别是,必须正确实现所使用的。请注意,默认值依赖于底层对象的
toString()
方法,但您可以指定自己的实现。

hmm。。不应该发生。请检查这是否特定于JXTable(与核心表相反)。如果是这样,您已经检测到了JXTABLE中的一个bug(您可能会考虑在SWIXX问题跟踪器中进行报告)。一个SSCCE演示了该问题将有帮助,在所有情况下,对象类是由<代码>节俭< /代码>生成的,并且我非常确信,在<代码> ID>代码>字段中有一个唯一的值来保证toStruts()。将显示唯一的值。请验证
getColumnClass()
为其列返回
Thrift.class
,并且
id
的类型实现了
Comparable
。是的,getColumnClass()返回对应的Thrift类字段类型,
id
列是
字符串的类型。