以编程方式隐藏和显示Eclipse视图

时间:2013-04-18 10:47:48

标签: java eclipse-plugin eclipse-rcp

我正在使用下面的代码显示和隐藏Eclipse视图。它与Eclipse 3.3完美配合,但是使用Eclipse Juno(版本4.3)时,它不是第一次显示,而是在我第二次触发事件时显示。

IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
    .getActivePage();
page.showView(UserView.ID);
page.hideView(page.findView(UserView.ID));

以前有人遇到过这种情况吗?

2 个答案:

答案 0 :(得分:2)

我不确定你为什么没有第一次得到它。在第一次触发时检查是否没有空指针错误。

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
如果工作台尚未加载,

可以返回null

答案 1 :(得分:2)

我遇到了与最小化状态相同的问题,所以我尝试更改视图状态,强制它出现在page.showView(UserView.ID);

之后

这段代码让我的viewPort显示:

page.showView(UserView.ID); 
IWorkbenchPartReference ref = page.getReference(searchResultUI);    
page.setPartState(ref,IWorkbenchPage.STATE_RESTORED); //or STATE_MAXIMIZED