Java: индекс выбранных строк не изменяется при сортировке

у меня есть Jtable, на котором я вызвал метод table1.setAutoCreateRowSorter(true);. Так что это работает хорошо. Но у меня также есть methos в моем классе JFrame, который запускается, когда я нажимаю кнопку. Он получает индексы выбранных строк с помощью этого кода int selectedRows[] = this.table1.getSelectedRows();. И отображает окно редактирования для первой строки, соответствующей выбранному интервалу.

проблема в том, что если я не нажимаю на заголовки столбцов (я имею в виду, что я не сортирую их вообще), мой метод работает идеально. Но когда я сортирую строку, индексы строки, похоже, не меняются вообще - таким образом, в результате окно редактирования для старой строки, которая изначально была в этом положении, прежде чем делать какой-либо вид.

Я использую JDK 6 может ли anyonw дать Ма совет?

2 ответов


базовая модель не изменяет порядок. Изменяется только вид. Вы можете узнать больше об этом в солнечное учебник. Вам нужно будет использовать JTable.convertRowIndexToView () и JTable.convertRowIndexToModel ().


вам нужно использовать convertRowIndexToView(int) и convertRowIndexToModel(int) для преобразования индексов модели (базовых данных) и индексов вида.