我花了几个小时没找到解决方案,对我来说似乎是自然操作: 如何强制TreeViewer在树的visiple部分显示给定元素? 换句话说,如何将其滚动到可视化的第一个元素是一个特定的点?
_______________
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元素(不是左上角),所以相当于向上或向下滚动它。 换句话说,我不想更改模型,我想应用视图来显示模型的其他部分。
答案 0 :(得分:0)
调用TreeViewer.setInput
指定二级元素列表而不是顶级元素(并确保您的内容提供者getElements
方法理解这一点。)
如果您在Eclipse中使用它,可以使用org.eclipse.ui.part.DrillDownComposite
添加“进入”,“返回”和“主页”按钮,这些按钮使用setInput
方法更改根(用于例如,新建/文件向导。)
答案 1 :(得分:0)
好的,有人在其他论坛上给了我解决方案: http://www.eclipse.org/forums/index.php/m/1123124/
基本上是使用setTopItem。 其他帖子中的更多细节。