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

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

Ответов (3)

Решение

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

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

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

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

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

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

JXTable requires a big package, and is difficult to get the right version for. (no higher than version 1.0 for Java 1.5).

Try instead TableSorter.java. Get it at:

http://ouroborus.org/java/2.1/TableSorter.java

And insert it in your project.

Now you wrap your tableModel in an instance of TableSorter, and instert that into the JTable. TableSorter acts as a "go-between" the JTable-instance and your tableModel.

Use it something like this (code untested):

JTable myTable = new JTable();
TableSorter mySorter = new TableSorter(myTableModel, myTable.getTableHeader());
myTable.setTableModel(mySorter);

You can set sprting programmatically like this:

mySorter.setSortingStatus(0,TableSorter.ASCENDING);

Try tweeking MouseHandler.mouseClicked() to get it to skip the NOT_SORTED option in the clicking order, and mess with renderers for e better column header and placing and visibility of triangle.