3

我有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:240
12:328
13:1174
14:328
15:1174

我不明白为什么不同的视图索引映射到同一个模型索引?

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

4

1 回答 1

2

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

于 2011-08-11T01:05:49.633 回答