pau*_*son 6 sorting swing jtable
我有两个使用相同TableModel类的不同对象构建的JTable.当我单击表1中的一列进行排序时,要求是另一个表2也应该根据JTable 1中单击的相同列进行排序.有没有办法找到表1中使用的列或者排序是基于.使用它,是否有任何方法可以通过表2中针对同一列的任何方法调用来调用排序.
请提供您对任何java apis的建议或指示.此外,如果有任何链接有一个例子将有很大的帮助. - 保罗.
要做的就是监听表的分类器的更改并将第二个表的sortKeys设置为相同:
RowSorterListener l = new RowSorterListener() {
@Override
public void sorterChanged(RowSorterEvent e) {
if (RowSorterEvent.Type.SORT_ORDER_CHANGED == e.getType()) {
RowSorter sorter = e.getSource();
otherTable.getRowSorter().setSortKeys(sorter.getSortKeys());
}
}
};
table.getRowSorter().addRowSorterListener(l);
Run Code Online (Sandbox Code Playgroud)
如果您需要以两种方式保持同步,请将侦听器注册到两者并添加一些逻辑,以便在侦听器触发排序更改时不执行任何操作.
编辑
在写了几乎相同的评论两次之后(对于建议在模型上进行排序的答案),决定在这里添加它