



У вас должна быть возможность установить TableRowSorter и связанный с ним компаратор. Пример:
TableModel myModel = createMyTableModel();
JTable table = new JTable(myModel);
TableRowSorter t = new TableRowSorter(myModel);
t.setComparator(column that the comparator works against, Comparator<?> comparator);
table.setRowSorter(new TableRowSorter(myModel));
Загляните в JXTable. JXTable - это расширение JTable, которое поддерживает сортировку по нескольким столбцам, а также другие функции, которые JTable не предоставляет. Он находится в свободном доступе на JDNC / SwingLabs.
Ты уверен? На самом деле API JXTable утверждает: «Сортировка поддерживается только для одного столбца».
Хорошо, но с фильтрами работает. вам просто нужно поместить шаттлы в фильтрующий трубопровод
ETable из коллекции netbeans.
Это часть org-netbeans-swing-outline.jar
Поиск в Google поможет его найти.
ETable - это в первую очередь основа для Outline (TreeTable), но в него встроено упорядочение по многим столбцам, а также многие другие приятные функции.
«Я знаю, что Jtable может сортировать по одному столбцу. Но можно ли разрешить сортировку по нескольким столбцам, или мне нужно писать код самому?»
Сортировкой и фильтрацией таблиц управляет объект сортировщика. Самый простой способ предоставить объект сортировщика - установить для привязанного свойства autoCreateRowSorter значение true;
JTable table = new JTable();
table.setAutoCreateRowSorter(true);
Это действие определяет сортировщик строк, который является экземпляром javax.swing.table.TableRowSorter.
не связано с сортировкой по нескольким столбцам