在基于Eclipse的应用程序(RCP)中,当双击项目浏览器中显示的文件时,对于第一个文件,这将起作用 - 相关的编辑器将打开。但是,再次双击文件时,它将无法打开。如果单击Project Explorer中的某个位置然后返回Project Explorer,则第二次双击将起作用。
请注意,右键单击资源并选择“打开”始终有效。此外,在Package Explorer中它始终有效。
作为RCP开发人员,有没有人知道我可以克服这个问题的方法。文件编辑器是我的一个插件中的自定义编辑器。
对于java开发的标准eclipse中的java文件似乎没有发生这个问题。
谢谢,
的Eyal。
答案 0 :(得分:0)
我通过在编辑器类上实现setFocus
方法解决了这个问题。在setFocus
中,我将焦点设置为某个组件。 (确切地说,在我的情况下,编辑器是SharedHeaderFormEditor
的子类,所以我将焦点设置为活动页面)。
事实是,setFocus
中IWorkbenchPart
方法的规范要求您“将焦点分配给部件的父组合中包含的控件之一”。似乎setFocus的默认实现在某些情况下没有这样做(我不知道为什么,也许我错过了某些东西或其他原因)。
请注意,也可以从编辑器初始化中明确地将焦点设置到控件,从而解决问题。