Я работаю над проектом, включающим JTable и выполняющим над ним операции сортировки и фильтрации. Я закончил с сортировкой и фильтрацией, и теперь я хочу иметь возможность создать новую таблицу из текущего представления более старой таблицы.
например Если я применяю определенные фильтры к моей старой таблице, некоторые строки отфильтровываются. Я не хочу, чтобы эти отфильтрованные строки в моей новой таблице. Я подумал, что могу преобразовать новые индексы строк в индексы модели и вручную добавить значения ячеек в модель новой таблицы, но мне было интересно, есть ли другой эффективный способ сделать это?
Вот что я в итоге сделал:
//this code block will print out the rows in current view
int newRowCount = table.getRowCount();
int newColumnCount = table.getColumnCount();
for (int i = 0; i < newRowCount; i++) {
for (int j = 0; j < newColumnCount; j++) {
int viewIndex = table.convertRowIndexToModel(i);
String value = (String) model.getValueAt(viewIndex, j);
System.out.print(value + "\t");
}
System.out.println();
}