3

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

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

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

4

2 回答 2

2

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

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()

null如果工作台尚未加载,则可以返回 a 。

于 2013-04-18T15:21:58.760 回答
2

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

这段代码让我的 viewPart 显示:

page.showView(UserView.ID); 
IWorkbenchPartReference ref = page.getReference(searchResultUI);    
page.setPartState(ref,IWorkbenchPage.STATE_RESTORED); //or STATE_MAXIMIZED
于 2013-12-11T23:40:04.383 回答