我是 eclipse RCP 的新手,事实上也是 java 的新手。有一个非常基本的问题。
我有一个 JFace TreeViewer
。我想扩展其中的一个特定节点。问题是我只有节点的名称。除此之外没有任何信息。
我尝试使用treeItem,将其字符串与我拥有的节点名称的字符串进行比较,从而获得节点。我尝试在树的内容提供者中扩展它。但我没有得到所需的输出。当我在日志中检查它时,我发现它已展开,但没有显示在查看器中。我在 contentprovider 的 display.asyncExec
方法中执行此操作。
我希望问题很清楚。
最佳答案
创建 JFace 查看器是为了让开发人员不必费力使用 SWT 小部件,而是可以使用更高级别的 API。当使用 JFace 的查看器/内容提供程序/标签提供程序时,您应该控制树中的节点(因此,当您说您只知道名称时,我假设您直接使用 SWT Tree)。您可以从 Eclipse help 阅读有关 JFace 查看器的信息。 .
要伸展树(Splay Tree)节点,请使用 TreeViewer
的 expandToLevel(Object elementOrTreePath, int level)
方法(级别是相对于展开的节点,而不是树的根)。
关于java - 扩展树节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8586781/