在树查看器中设置折叠节点上的选择

时间:2017-03-18 00:19:38

标签: java jface treeviewer

我遇到以下问题:我创建了一个树查看器并绑定了一个数据模型。这棵树崩溃了 现在我想在树中选择一个特定节点:

treeViewer.setSelection(new StructuredSelection(person), true);

Person是数据模型中的自定义对象之一。如果树被展开,将找到并选择节点 因为节点是另一个节点(3级)的子节点,所以如果树被折叠,则不会发生任何事情 是否可以选择/聚焦节点,扩展父项等。?
我知道我可以递归遍历所有节点并尝试找到正确的节点,但是有一种方法可以帮我吗?或者也许有一个不同的setSelection调用,让我扩展树路径?

1 个答案:

答案 0 :(得分:0)

您可以使用TreeSelection。这需要TreePath作为参数 - 列出路径中的所有节点。

TreePath path = new TreePath(... array of nodes from root to person ...);

treeViewer.setSelection(new TreeSelection(path), true);