Java 排序JFace Treeviewer多列

Java 排序JFace Treeviewer多列,java,eclipse-plugin,eclipse-rcp,jface,Java,Eclipse Plugin,Eclipse Rcp,Jface,我希望用户可以随时通过单击列标题对TreeViewer进行排序。但是我不知道该怎么做 我发现我们可以使用ViewerComparator对不同的元素进行排序。但是,我不知道如何设置侦听器,使其能够正确地进行升序或降序排序 有没有一种方法可以使用JFace库自动设置箭头,让用户在列排序中选择降序或升序 问候,, 沃尔多这不是自动的 您需要调用TreeColumn.addSelectionListener来添加一个选择侦听器,以处理对树列标题的单击 然后,您需要使用从TreeViewer获取树 Tr

我希望用户可以随时通过单击列标题对
TreeViewer
进行排序。但是我不知道该怎么做

我发现我们可以使用
ViewerComparator
对不同的元素进行排序。但是,我不知道如何设置侦听器,使其能够正确地进行升序或降序排序

有没有一种方法可以使用JFace库自动设置箭头,让用户在列排序中选择降序或升序

问候,,
沃尔多这不是自动的

您需要调用
TreeColumn.addSelectionListener
来添加一个选择侦听器,以处理对树列标题的单击

然后,您需要使用从
TreeViewer
获取

Tree tree = viewer.getTree();
然后打电话

tree.setSortColumn(treeColumn);
设置指示的主排序列和

tree.setSortDirection(SWT.UP) // or SWT.DOWN
设置指示的分拣方向

召唤

使查看器重新进行排序


您需要在比较器中跟踪要排序的列。

哦,谢谢。我有点做了,只是我没有直接使用setSortColumn和setSortDirection,它正在工作,但它最好按照您的方式来做。
viewer.refresh();