Возможно ли как-то получить индекс выбора, соответствующий нефильтрованной таблице?
После фильтрации таблицы с помощью regexFilter. JTable getSelectedRow возвращает индекс отфильтрованной таблицы?
Возможно ли как-то получить индекс выбора, соответствующий нефильтрованной таблице?
После фильтрации таблицы с помощью regexFilter. JTable getSelectedRow возвращает индекс отфильтрованной таблицы?
Если вы используете встроенную функциональность TableRowSorter из версии 1.6, вы можете использовать convertRowIndexToModel() для таблицы. Это дает вам нефильтрованный индекс выбранной строки.
Javadoc для JTable дает описание этого:
Преобразования координат будут необходимы при использовании основанных на строках методов JTable с базовой TableModel. Все методы JTables, основанные на строках, основаны на RowSorter, который не обязательно совпадает с методом базовой модели TableModel. Например, выбор всегда осуществляется с точки зрения JTable, поэтому при использовании RowSorter вам потребуется преобразовать с помощью convertRowIndexToView или convertRowIndexToModel.
сохраните идентификатор строки в вашей модели данных, когда вы получите выбранную строку из jtable, запросите идентификатор этой строки.