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



我在项目资源管理器中制作了菜单项,用户可以右键单击任何java项目,然后从上下文菜单中选择"弹出菜单"。问题是当我单击它时,它给了我一个信息对话框,上面写着"所选操作当前不可用",它实际上应该显示 hello world 对话框,但它没有。任何人都可以在我的代码中看到问题吗:

这适用于插件.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>

这是helloworld.java文件的代码:

public class HelloWorld implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
public void run(IAction action) {
    MessageDialog.openInformation(
        window.getShell(),
        "HelloWorld",
        "Hello, Eclipse world");
}.....
您可能需要

指定

 adaptable="true"

作为objectContribution的一部分:

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

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

注意:该org.eclipse.ui.popupMenus现已弃用。

最新更新