Есть ли простой способ сортировки строк в JTable с помощью Java 1.5 (setAutoCreateRowSorter
и TableRowSorter
, похоже, являются функциями Java 1.6)?
Сортировка строк JTable в Java 1.5
Ответы (3)
Сортировка в Java 1.5 возможна только через библиотеки.
Например. используйте JXTable, упомянутый в Kaarel, или VLTable из здесь.
Еще одна хорошая библиотека - glazedlists.
который также используется в проекте Spring Rich Client.
Есть даже способы использовать глазурованные списки с JXTable
JXTable требует большого пакета, и его сложно найти для нужной версии. (не выше версии 1.0 для Java 1.5).
Попробуйте вместо этого TableSorter.java. Получите по адресу:
http://ouroborus.org/java/2.1/TableSorter.java
И вставьте его в свой проект.
Теперь вы оборачиваете tableModel экземпляр TableSorter и вставляете его в JTable. TableSorter действует как «посредник» между экземпляром JTable и вашей tableModel.
Используйте это примерно так (код не протестирован):
JTable myTable = new JTable();
TableSorter mySorter = new TableSorter(myTableModel, myTable.getTableHeader());
myTable.setTableModel(mySorter);
Вы можете программно настроить sprting следующим образом:
mySorter.setSortingStatus(0,TableSorter.ASCENDING);
Попробуйте настроить MouseHandler.mouseClicked()
, чтобы он пропустил параметр NOT_SORTED в порядке щелчка, и возитесь с модулями визуализации для лучшего заголовка столбца, а также размещения и видимости треугольника.