我知道 JTable 可以按单列排序。但是,是否可以允许多列排序或者我是否需要自己编写代码?

其他提示

查看 JXTable 。 JXTable是JTable的扩展,支持多列排序,以及JTable不提供的其他功能。它可以从JDNC / SwingLabs免费获得。

您应该能够设置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));

来自netbeans集合的ETable。
它是org-netbeans-swing-outline.jar的一部分 一个谷歌搜索应该打开它。 ETable主要是Outline(一个TreeTable)的基础,但它内置了多列排序以及许多其他不错的功能

“我知道Jtable可以按单列排序。但是可以允许多列排序还是我需要自己编写代码? &QUOT;

表排序和过滤由分拣机对象管理。提供分拣器对象的最简单方法是将autoCreateRowSorter bound属性设置为true;

JTable table = new JTable();
table.setAutoCreateRowSorter(true);

此操作定义了一个行分类器,它是javax.swing.table.TableRowSorter的一个实例。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top