我正在使用下面的代码显示和隐藏Eclipse视图。它与Eclipse 3.3完美配合,但是使用Eclipse Juno(版本4.3)时,它不是第一次显示,而是在我第二次触发事件时显示。
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getActivePage();
page.showView(UserView.ID);
page.hideView(page.findView(UserView.ID));
以前有人遇到过这种情况吗?
答案 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