2013-11-14 26 views

回答

0

您需要注册IPartListenerIPartService然后在partActivated,partBroughtToTop等方法做适当的事情。 制作确保该部分是编辑器,你想:

public void partActivated(IWorkbenchPart part) { 
    if (part instanceof MySuperEditor) { 
    part.getSite().getPage().showView(MySuperView.ID); 
    } 
} 

等 让我知道这是否有助于

+0

它的工作,但我不知道哪里是创建这个听众好地方什么。你是否想过催化剂?在方法中开始和停止?我想使用方法PlatformUI.getWorkbench()。getActiveWorkbenchWindow()。getPartService()。addPartListener(listener)添加此侦听器; – John

+0

@John getActiveWorkbenchWindow()方法将仅在您当前仅打开一个Eclipse窗口的情况下有效。你需要获得所有的窗口并注册每个监听器。此外,您还需要另一个IWindowListener来确保将部分侦听器添加到新创建的窗口中,并删除针对正在关闭的窗口注册的部分侦听器。我不确定最佳做法。在我的插件中,我只是从插件strartup中调用了一个方法,这会等待工作台创建和窗口初始化完成,然后注册所有的监听器。 – dimoniy

+0

好的,谢谢你的帮助:) – John

相关问题