Сортировка строк JTable в Java 1.5

Есть ли простой способ сортировки строк в JTable с помощью Java 1.5 (setAutoCreateRowSorter и TableRowSorter, похоже, являются функциями Java 1.6)?


person Miles D    schedule 26.02.2009    source источник


Ответы (3)


Сортировка в Java 1.5 возможна только через библиотеки.

Например. используйте JXTable, упомянутый в Kaarel, или VLTable из здесь.

Еще одна хорошая библиотека - glazedlists.

который также используется в проекте Spring Rich Client.

Есть даже способы использовать глазурованные списки с JXTable

person Karussell    schedule 25.10.2009

Используйте JXTable из проекта SwingX, см., Например,

person Kaarel    schedule 26.02.2009

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 в порядке щелчка, и возитесь с модулями визуализации для лучшего заголовка столбца, а также размещения и видимости треугольника.

person Terje Dahl    schedule 22.10.2009