Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse插件创建信息对话框错误_Java_Eclipse_Eclipse Plugin - Fatal编程技术网

Java Eclipse插件创建信息对话框错误

Java Eclipse插件创建信息对话框错误,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我在ProjectExplorer中创建了一个菜单项,用户可以右键单击任何java项目,然后从上下文菜单中选择“PopMenu”。问题是,当我点击它时,它会给我一个信息对话框,上面写着“所选操作当前不可用”,它实际上应该显示hello world对话框,但它没有。有人能看到我代码中的问题吗: 对于plugin.xml,请执行以下操作: <plugin> <extension point="org.eclipse.ui.popupMenus"> &

我在ProjectExplorer中创建了一个菜单项,用户可以右键单击任何java项目,然后从上下文菜单中选择“PopMenu”。问题是,当我点击它时,它会给我一个信息对话框,上面写着“所选操作当前不可用”,它实际上应该显示hello world对话框,但它没有。有人能看到我代码中的问题吗:

对于plugin.xml,请执行以下操作:

<plugin>
   <extension
     point="org.eclipse.ui.popupMenus">
     <objectContribution
        id ="org.eclipse.ui.examples.project"
        objectClass="org.eclipse.core.resources.IProject">
        <action id="org.eclipse.ui.examples.project.action1"
            label = "popup menu"
            menubarPath = "additions"
            class = "org.eclipse.examples.HelloWorld"
            definitonId = "org.eclipse.ui.examples.project.action1"
            enablesFor ="1">
        </action>
     </objectContribution>

您可能需要指定

 adaptable="true"
作为
对象贡献的一部分

 <objectContribution
    id ="org.eclipse.ui.examples.project"
    objectClass="org.eclipse.core.resources.IProject"
    adaptable="true">

这是因为大多数用户界面对象不直接实现工作空间对象,例如
IProject
。相反,它们提供了一个“适配器”来转换为对象,您必须指定“adaptive”属性以使菜单代码查找适配器


注意:
org.eclipse.ui.popupmones
现在已经被弃用了。

我也厌倦了,但它仍然给我同样的错误。我还为IObjectActionDelegate添加了扩展接口,但仍然不起作用。我不知道我做错了什么。谢谢你,这确实有效,而且我忘了在类路径中写类名。
 <objectContribution
    id ="org.eclipse.ui.examples.project"
    objectClass="org.eclipse.core.resources.IProject"
    adaptable="true">