java - 如何像单击鼠标一样选择 TreeView 节点来更新属性 View

标签 java eclipse-plugin swt jface

我的 Eclipse 插件中有一个自定义大纲,使用类 TreeViewer 实现,并且我使用以下代码创建了此大纲:

public class MyOutlinePage extends ContentOutlinePage
(...)
            Object[] data = (...)
            TreeViewer treeViewer = getTreeViewer();
            treeViewer.setInput(data);

设置输入后,我需要在大纲中选择一个特定元素。 例如,我需要在大纲中选择元素data[2]

我尝试使用此代码来选择轮廓的元素:

treeViewer.setSelection(new StructuredSelection(data[2]));

如果我使用鼠标选择大纲项目,则会选择大纲并更新“属性 View ”。选中大纲项如图:

enter image description here

但是,如果我使用方法 setSelection 选择大纲项目,则“属性 View ”不会更新,并且会选择大纲项目,如下所示:

enter image description here

我需要使用代码选择大纲项,并且此选择必须像单击鼠标一样更新“属性 View ”。

最佳答案

灰色突出显示轮廓 View 不是 Activity 部分。属性 View 始终显示 Activity 零件的值。

您可以通过以下方式激活大纲 View :

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

page.showView(IPageLayout.ID_OUTLINE, null, IWorkbenchPage.VIEW_ACTIVATE);

但请注意,这会将焦点从当前 Activity 的部分移开。

关于java - 如何像单击鼠标一样选择 TreeView 节点来更新属性 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214920/

相关文章:

eclipse-plugin - XML编辑器源代码在哪里

java - 在 SWT 中将 JFreeChart ChartComposite 设置为固定大小

java - java.io.IOException : CreateProcess error=5 的可能原因

java - 如何在 Vertx Kafka 客户端中使用自定义序列化器?

java - 从 jsf 中的 java 代码调用警告框

java - 如何通过swt中的停止按钮停止TestNG的java线程

java - 如何在java swt中的组合(下拉)中添加复选框?

java.lang.ArrayIndexOutOfBoundsException 错误?

java - SWTbot - 如何构建项目

java - 添加一个导出向导到 eclipse RCP 独立应用程序