设置JFace TreeViewer的滚动条位置

时间:2018-12-07 08:21:39

标签: position scrollbar refresh jface treeviewer

在我的代码中,我有一个TreeViewer,可以通过定期调用setInput()并传递新输入来刷新它。由于系统其余部分的复杂性,我希望不要更改代码以与添加,删除和刷新一起使用。 不幸的是,这意味着滚动条每秒钟左右跳到顶部。即使没有选择任何元素,有没有办法保留滚动条的位置并在刷新后再次设置它?

我已经尝试过

int s = treeViewer.getTree().getVerticalBar().getSelection();
treeViewer.setInput(input); 
treeViewer.getTree().getVerticalBar().setSelection(s);

但是我想这只有在选择了一个项目后才能起作用。

1 个答案:

答案 0 :(得分:0)

没关系,看起来就像只在开始时设置输入,然后每当以前传递输入时就调用refresh可以解决问题。仍然不知道如何以编程方式设置滚动条,但显然不再需要此滚动条,因为仅使用刷新确实可以解决跳转到顶部的错误。