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

adr*_*an7 13 java swing jtable selection

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

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

我正在使用JDK 6可以给任何提示吗?

Jay*_*ren 17

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


Gui*_*ume 5

您需要使用convertRowIndexToView(int)convertRowIndexToModel(int)转换模型(基础数据)索引和视图索引.