Ответов (3)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.