0

我是 Eclipse RCP 的新手,事实上也是 java 的新手。有一个非常基本的问题。我有一个 JFace TreeViewer。我想在其中扩展一个特定的节点。问题是我只有节点的名称。除此之外没有任何信息。我尝试使用treeItem,将它的字符串与我拥有的节点名称的字符串进行比较,因此我得到了节点。我尝试在树的 contentprovider 中扩展它。但我没有得到想要的输出。当我在日志中检查它时,我得到它已扩展但它没有显示在查看器中。我display.asyncExec在 contentprovider 中的方法中执行此操作。

我希望这个问题很清楚。

4

1 回答 1

5

创建 JFace 查看器是为了让开发人员不必弄乱 SWT 小部件,而可以使用更高级别的 API。使用 JFace 的查看器/内容提供者/标签提供者时,您应该控制树中的节点(因此,当您说您只知道名称时,我假设您直接使用 SWT 树)。您可以从 Eclipse帮助中了解 JFace 查看器。

展开树节点的使用expandToLevel(Object elementOrTreePath, int level)方法TreeViewer级别是相对于展开的节点,而不是树的根)。

于 2011-12-23T09:20:39.983 回答