大家好,Stackoverflow 的 friend 们,
我正在开发一个 Eclipse RCP 应用程序,我想向 ProjectExplorer
Eclipse View 添加一个监听器,并且需要在用户执行任何操作之前添加该监听器,但在 GUI 完成之后生成的。
不过,在启动时, PlatformUI.getWorkbench().getActiveWorkbenchWindow()
返回 null
(哦,窗口未激活),因此我添加到已经创建了 Workbench
和 WindowListener
PlatformUI.getWorkbench().addWindowListener(new IWindowListener() {
@Override
public void windowActivated(IWorkbenchWindow activatedWindow) {
//do stuff here
}
}
@Override
public void windowClosed(IWorkbenchWindow arg0) {
//remove stuff here
}
@Override
public void windowDeactivated(IWorkbenchWindow arg0) {
// stub
}
@Override
public void windowOpened(IWorkbenchWindow arg0) {
//stub
}
});
现在我遇到的问题是,即使填充了 ActiveWorkbenchWindow
,WindowListener
中的 windowActivated()
方法不被称为:(
有趣的是,当我单击另一个窗口,然后单击返回应用程序窗口时,会调用 windowActivated()
方法...因此监听器确实已注册。
感谢任何帮助和建议!
最佳答案
您可以使用 WorkbenchWindowAdvisor
的 postWindowCreate
或 postWindowOpen
方法的重写来进行设置。
关于java - org.eclipse.ui.startup 与 WindowListener 一起使用 - 未捕获首次激活,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20240691/