JTable在Java 1.5中排序行

时间:2009-02-26 17:40:17

标签: java jtable

是否有一种简单的方法可以使用Java 1.5对JTable中的行进行排序(setAutoCreateRowSorterTableRowSorter似乎是Java 1.6功能)?

3 个答案:

答案 0 :(得分:2)

只能通过库进行Java 1.5排序。

E.g。使用Kaarel提到的JXTable或here中的VLTable。

另一个好的图书馆是glazedlists

也用于Spring Rich Client项目。

甚至可以使用Glazed Lists with JXTable

答案 1 :(得分:1)

使用SwingX项目中的JXTable,请参阅例如

答案 2 :(得分:0)

JXTable需要一个大包,并且很难获得正确的版本。 (不高于Java 1.5的1.0版)。

尝试使用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选项,并弄乱渲染器以获得更好的列标题以及三角形的放置和可见性。