如何在RCP应用程序中关闭视图?

时间:2017-02-21 10:23:54

标签: java eclipse-plugin swt rcp

我有一个RCP应用程序,其中包含多个视图。有一个“欢迎”视图和其他视图。每当我选择“欢迎”视图时,其他视图都会使用代码

关闭
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().hideView(viewID); 

(注意:其他插件的依赖关系会添加到存在“欢迎”视图的插件中。)

同样,当我从coolbar或Show view对话框中选择任何其他视图时,我想关闭'Welcome'视图。问题是,如果我通过添加依赖项使用与上面相同的代码,它会在我的应用程序中引起循环依赖并抛出错误。如何在不造成循环依赖的情况下进行此操作?

1 个答案:

答案 0 :(得分:0)

这是关闭视图的正确代码。

您不需要使包含视图的插件成为正在执行关闭的插件的依赖项。您所需要的只是视图ID。

循环依赖意味着你有两个插件A和B,A取决于B和B,取决于A.这是不允许的,因为没有办法干净地构建插件。您需要更改依赖关系以删除循环。