java - E4 RCP 应用程序在双击事件时不响应

标签 java swt rcp e4

我正在开发一个 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/

相关文章:

java - 如何始终在 SWT 表中显示垂直滚动条?

java - 无法解析类型 org.eclipse.core.runtime.IConfigurationElement

eclipse - 哪个是最好的 RCP 平台

java - 如何为 Java RCP 应用程序添加自定义弹出窗口,该应用程序仅在具有 java 7 或更高版本(32 位)时启动?

java - JLS 是否将静态方法和静态变量视为类成员?

java - 使用 JFileChooser 选择文件扩展名

swt - 有办法设置JFace的ComboViewer的长度吗?

java - 收集和过滤大量数据

java - 为什么我的条件从来没有满足过?

java - SWT 下拉菜单按钮视觉故障