0

我花了几个小时并没有找到对我来说似乎很自然的操作的解决方案:如何强制 TreeViewer 在树的可见部分显示给定元素?换句话说,我怎样才能将它滚动到要可视化的第一个元素是一个特定的点?

_______________
A
 B
 C
_______________

And I want to visualize B as the first element:
_______________
 B
 C

_______________
(So the tree is scrolled down, programatically).

我真的很感激这里的一些帮助。提前非常感谢:)


谢谢 greg,但是 setInput 不会改变根目录?我想要的不是将根设置为 B,这导致示例为:

__________
B

    _ ___ (左上角的 B 及其子项悬挂)。

但是要在顶部(不是左上角)显示B元素,所以相当于向上或向下滚动它。换句话说,我不想改变模型,我想应用视图来显示模型的其他部分。

4

2 回答 2

0

调用TreeViewer.setInput指定二级元素列表而不是顶级元素(并确保您的内容提供者getElements方法理解这一点)。

如果您在 Eclipse 中使用它,您可以使用org.eclipse.ui.part.DrillDownComposite添加“进入”、“返回”和“主页”按钮,这些按钮使用该setInput方法更改根目录(例如在新建/文件向导中使用)。

于 2013-10-01T14:52:48.233 回答
0

好的,有人在其他论坛上给了我解决方案:http: //www.eclipse.org/forums/index.php/m/1123124/

基本上就是使用setTopItem。其他线程中的更多详细信息。

于 2013-10-10T13:51:51.483 回答