Java:所选行的索引在排序时不会更改

2022-09-04 08:38:49

我有一个Jtable,我称之为方法。所以这很有效。但是我的JFrame类中也有一个methos,当我按下按钮时会触发它。它使用此代码获取选定的行索引。并为所选间隔内对应的第一行显示编辑窗口。table1.setAutoCreateRowSorter(true);int selectedRows[] = this.table1.getSelectedRows();

问题是,如果我不点击列的标题(我的意思是我根本不对它们进行排序),我的方法可以完美地工作。但是当我对行进行排序时,行的索引似乎根本没有变化 - 因此导致旧行的编辑窗口在进行任何排序之前最初处于该位置。

我正在使用JDK 6,任何人都可以给妈妈一个提示吗?


答案 1

基础模型不会更改顺序。只有视图会更改。您可以在Sun的教程中阅读有关此内容的更多信息。您需要使用 JTable.convertRowIndexToView() 和 JTable.convertRowIndexToModel()。


答案 2

您需要使用和转换模型(基础数据)索引和查看索引。convertRowIndexToView(int)convertRowIndexToModel(int)


推荐