在 eclipse 4.x 中替代 org.eclipse.jface.window.ApplicationWindow
Alternative for org.eclipse.jface.window.ApplicationWindow in eclipse 4.x
我正在将 eclipse IDE 产品从 362 迁移到 422。我有以下代码行抛出强制转换异常,因为 WorkbenchWindow 不再派生自 ApplicationWindow for eclipse 4.x。
ICoolBarManager coolBarMgr = ((ApplicationWindow) window).getCoolBarManager();
异常:java.lang.ClassCastException:org.eclipse.ui.internal.WorkbenchWindow 无法转换为 org.eclipse.jface.window.ApplicationWindow
作为一种变通方法,我可以对扩展 org.eclipse.ui.application.WorkbenchWindowAdvisor.
的 rcp 应用程序使用以下行
ICoolBarManager coolBarMgr = getWindowConfigurer().getActionBarConfigurer().getCoolBarManager();
但我必须使用 eclipse IDE(不是 rcp),它没有任何扩展 org.eclipse.ui.application.WorkbenchWindowAdvisor 的插件,所以上面的解决方法对我没有帮助。
您能否就替代解决方案提供任何建议,以在不使用 getWindowConfigurer() 且无需大量代码更改的情况下获取 ICoolBarManager?
或者有什么办法可以让我从另一个不扩展 org.eclipse.ui.application.WorkbenchWindowAdvisor?
的插件中使用 getWindowConfigurer()
如有任何帮助,我们将不胜感激。提前致谢。
WorkbenchWindow
有一个 getCoolBarManager2
方法 但是 WorkbenchWindow
是一个内部 class 所以这真的不应该被使用(你原来的方法也不应该)。我认为没有官方方法可以访问 ICoolBarManager
.
注意 Eclipse 4.2.2 现在已经很老了,从那时起对 Eclipse 4 进行了大量修复。
我正在将 eclipse IDE 产品从 362 迁移到 422。我有以下代码行抛出强制转换异常,因为 WorkbenchWindow 不再派生自 ApplicationWindow for eclipse 4.x。
ICoolBarManager coolBarMgr = ((ApplicationWindow) window).getCoolBarManager();
异常:java.lang.ClassCastException:org.eclipse.ui.internal.WorkbenchWindow 无法转换为 org.eclipse.jface.window.ApplicationWindow
作为一种变通方法,我可以对扩展 org.eclipse.ui.application.WorkbenchWindowAdvisor.
的 rcp 应用程序使用以下行ICoolBarManager coolBarMgr = getWindowConfigurer().getActionBarConfigurer().getCoolBarManager();
但我必须使用 eclipse IDE(不是 rcp),它没有任何扩展 org.eclipse.ui.application.WorkbenchWindowAdvisor 的插件,所以上面的解决方法对我没有帮助。
您能否就替代解决方案提供任何建议,以在不使用 getWindowConfigurer() 且无需大量代码更改的情况下获取 ICoolBarManager? 或者有什么办法可以让我从另一个不扩展 org.eclipse.ui.application.WorkbenchWindowAdvisor?
的插件中使用 getWindowConfigurer()如有任何帮助,我们将不胜感激。提前致谢。
WorkbenchWindow
有一个 getCoolBarManager2
方法 但是 WorkbenchWindow
是一个内部 class 所以这真的不应该被使用(你原来的方法也不应该)。我认为没有官方方法可以访问 ICoolBarManager
.
注意 Eclipse 4.2.2 现在已经很老了,从那时起对 Eclipse 4 进行了大量修复。