JTable中的多列排序
时间:2020-03-06 14:29:54 来源:igfitidea点击:
我知道JTable可以按单个列排序。但是是否可能允许多列排序,还是我需要自己编写代码?
解决方案
我们应该能够设置TableRowSorter和与其关联的Comparator。
例子:
TableModel myModel = createMyTableModel(); JTable table = new JTable(myModel); TableRowSorter t = new TableRowSorter(myModel); t.setComparator(column that the comparator works against, Comparator<?> comparator); table.setRowSorter(new TableRowSorter(myModel));
查看JXTable。 JXTable是JTable的扩展,支持多列排序以及JTable不提供的其他功能。它可以从JDNC / SwingLabs免费获得。
我们可以通过在使用的" RowSorter"中调用" setSortKeys"时指定多个排序键来对多列进行排序。
来自netbeans集合的ETable。
它是org-netbeans-swing-outline.jar的一部分
谷歌搜索把它打开了。
ETable主要是Outline(TreeTable)的基础,但它内置了多列排序以及许多其他不错的功能