用于StandaloneView的RCP占位符

用于StandaloneView的RCP占位符,view,rcp,placeholder,View,Rcp,Placeholder,我对RCP非常陌生,我想构建一个窗口,左侧有一个TreeViewer作为菜单,右侧是视图。 单击树项目时,当前视图应替换为新页面。 视图不得移动或关闭 到目前为止,菜单还不错,但我无法让视图表现出我想要的样子 我尝试在透视图中使用占位符: layout.addStandaloneViewPlaceholder("gui.page:*", IPageLayout.TOP, 0.5f, editorArea, false); 视图的ID都以gui.page开头。。。 当我将其中一个页面作为stan

我对RCP非常陌生,我想构建一个窗口,左侧有一个TreeViewer作为菜单,右侧是视图。 单击树项目时,当前视图应替换为新页面。 视图不得移动或关闭

到目前为止,菜单还不错,但我无法让视图表现出我想要的样子

我尝试在透视图中使用占位符:

layout.addStandaloneViewPlaceholder("gui.page:*", IPageLayout.TOP, 0.5f, editorArea, false);
视图的ID都以gui.page开头。。。 当我将其中一个页面作为standaloneView添加到透视图时,它看起来就像我想要的那样。 但是当我通过调用

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(pageID);
在TreeViewer的监听器中,页面被标记,可以移动和关闭

我想要的一个很好的例子是eclipse的preferences对话框。我在eclipse源代码中搜索,但找不到他们制作的方式


任何关于如何进行此操作的建议?

视图都不会被替换。因此,您必须通过调用IWorkbenchPage.hideView()来隐藏上一个视图。

谢谢您的帮助。我从一个同事那里得到了另一个建议,我将使用它。现在,它们不再在视图中放置不同的页面,而是在具有stacklayout的单个视图中的不同组合。很好:)