我有JTable
我将DefaultTableModel
和TableRowSorter
关联起来。他们工作。单击一行时,其内容将复制到JTextfields,以便您可以编辑它们*。但是,如果按某个字段对表进行排序,然后单击一行,则复制的内容将从其先前的值(排序之前)中取而代之,而不是从新值中取出。可能导致这种情况的原因是什么?
*我这样做是因为该表只包含所有字段的子集。
答案 0 :(得分:7)
在获取所选行索引时看起来就像在获取数据之前没有将其转换为模型索引。
而不是:
table.getSelectedRow()
使用此:
table.convertRowIndexToModel(table.getSelectedRow());