Java 如何从菜单重新打开viewpart?

Java 如何从菜单重新打开viewpart?,java,eclipse,eclipse-rcp,rcp,Java,Eclipse,Eclipse Rcp,Rcp,我有一个透视图和一个视图部件。程序一打开,viewpart即显示。 viewpart应该是唯一的一个,并且应该是可关闭的 我对这种行为有两个问题: 我希望这个观点是正确的 显示为空,仅为背景图像 应该显示。(我该怎么做?) 我想打开门 从菜单中选择viewpart,使用 命令样式菜单 到目前为止,我可以关闭我的viewpart,透视图是空的 但是 我无法使用自定义命令从菜单中调用它。 代码如下 public class CallMyViewPart extends AbstractHandler

我有一个透视图和一个视图部件。程序一打开,viewpart即显示。 viewpart应该是唯一的一个,并且应该是可关闭的

我对这种行为有两个问题:

  • 我希望这个观点是正确的 显示为空,仅为背景图像 应该显示。(我该怎么做?)
  • 我想打开门 从菜单中选择viewpart,使用 命令样式菜单
  • 到目前为止,我可以关闭我的viewpart,透视图是空的

    但是

    我无法使用自定义命令从菜单中调用它。 代码如下

    public class CallMyViewPart extends AbstractHandler implements IHandler {
    
        @Override
        public Object execute(ExecutionEvent event) throws ExecutionException {
            Shell shell = HandlerUtil.getActiveWorkbenchWindow(event).getShell();
            IWorkbenchPage page = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage();
    
            MyViewPart myViewPart = new MyViewPart();
    
        return null;
        }
    }
    
    我做错了什么?
    谢谢

    嗯,这比我想象的要容易

    public class CallMyViewPart extends AbstractHandler implements IHandler {      
    
        @Override      
        public Object execute(ExecutionEvent event) throws ExecutionException {      
            Shell shell = HandlerUtil.getActiveWorkbenchWindow(event).getShell();      
            IWorkbenchPage page = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage();
            try {
            page.showView("somedomain.mainViewpart");
        } catch (PartInitException e) {
            e.printStackTrace();
        }
    
        return null;      
        }      
    } 
    

    这是绝对可能的,我已经做到了,但不记得具体细节,很久以前。它类似于show()和setfocus()。但是,在我的例子中,视图也是在plugin.xml中配置的。我只是想告诉你这是可能的。