我的 Eclipse 插件中有一个自定义大纲,使用类 TreeViewer
实现,并且我使用以下代码创建了此大纲:
public class MyOutlinePage extends ContentOutlinePage
(...)
Object[] data = (...)
TreeViewer treeViewer = getTreeViewer();
treeViewer.setInput(data);
设置输入后,我需要在大纲中选择一个特定元素。
例如,我需要在大纲中选择元素data[2]
。
我尝试使用此代码来选择轮廓的元素:
treeViewer.setSelection(new StructuredSelection(data[2]));
如果我使用鼠标选择大纲项目,则会选择大纲并更新“属性 View ”。选中大纲项如图:
但是,如果我使用方法 setSelection
选择大纲项目,则“属性 View ”不会更新,并且会选择大纲项目,如下所示:
我需要使用代码选择大纲项,并且此选择必须像单击鼠标一样更新“属性 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/