【问题标题】:Eclipse Rcp run E4 based code after the whole application has started and the GUI has completely renderedEclipse Rcp 在整个应用程序启动并且 GUI 完全呈现后运行基于 E4 的代码
【发布时间】:2017-10-06 06:21:06
【问题描述】:
我有一个带有兼容层的 E3/E4 混合应用程序。我想在整个应用程序启动并且 GUI 完全呈现后运行基于 E4 的代码。
- 我尝试使用 LifeCycle Manager,但所有注释都为时过早。
- 我在 ApplicationWorkbenchWindowAdvisor 中尝试过,但我无法访问 EModelService 或 MApplication。
- 作为处理器扩展,我也尝试过,但这对于 Application.e4xmi 中的插件来说也为时尚早。
是否有一个监听器或类似的东西可以让我挂钩我的代码?
谢谢
【问题讨论】:
标签:
java
eclipse
eclipse-rcp
e4
【解决方案1】:
您可以为此使用应用程序启动完成事件。
如果你有一个生命周期类,只需在类中添加如下方法:
@Optional
@Inject
public void appStartupComplete(@UIEventTopic(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE) final Event event)
{
....
}
或者您可以使用事件代理订阅UIEvents.UILifeCycle.APP_STARTUP_COMPLETE 事件。
注意:上面的Event 是org.osgi.service.event.Event - 有几个不同的Event 类,所以很容易弄错。