我正在开发一个 E4 RCP 应用程序,我想让它在用户双击特定文件类型时正确响应。到目前为止,文件的扩展名通过写入寄存器与操作系统相关联,当双击它时,应用程序就会启动。我面临的问题是,当我双击文件时,应用程序不知道如何处理该文件,它会启动,但不会从文件中加载数据。如果您能建议我该怎么做,我将非常感谢您的帮助。我想我需要一个倾听者,但我不知道在哪里。 提前致谢。
最佳答案
e4 应用程序不会执行任何有关打开文件的操作,除非您编写一些代码来使其执行此操作。
您可以注入(inject)IApplicationContext
来获取有关程序命令行参数的信息:
final String [] args = (String [])applicationContext.getArguments().get(IApplicationContext.APPLICATION_ARGS);
参数将包含要打开的文件的名称。
如果您想要执行诸如打开 MPart
之类的操作,则需要通过订阅事件代理中的事件来等待应用程序启动完成事件:
eventBroker.subscribe(UIEvents.UILifeCycle.APP_STARTUP_COMPLETE, handler);
您可以在生命周期类的@PostContextCreate
create 方法中进行设置。
关于java - E4 RCP 应用程序在双击事件时不响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22197463/