Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.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_Popupmenu - Fatal编程技术网

Java 在eclipse中将对象贡献转换为菜单贡献

Java 在eclipse中将对象贡献转换为菜单贡献,java,eclipse,eclipse-plugin,popupmenu,Java,Eclipse,Eclipse Plugin,Popupmenu,我有一个使用org.eclipse.ui.popupmones编写的上下文菜单。因为它现在已经被弃用了,所以我想使用org.eclipse.ui.menus来实现同样的功能 早期的实现如下所示 到目前为止,我所做的尝试如下 但有了这个,我看到了MyTools上下文菜单下的MyAction子菜单。但是MyAction被禁用了。当我右键单击SelectMyTools时,我还看到MyACtion出现在projectExplorer窗口和编辑器中 我想要的是MyAction子菜单应仅出现在MyT

我有一个使用org.eclipse.ui.popupmones编写的上下文菜单。因为它现在已经被弃用了,所以我想使用org.eclipse.ui.menus来实现同样的功能

早期的实现如下所示


到目前为止,我所做的尝试如下


但有了这个,我看到了MyTools上下文菜单下的MyAction子菜单。但是MyAction被禁用了。当我右键单击SelectMyTools时,我还看到MyACtion出现在projectExplorer窗口和编辑器中


我想要的是MyAction子菜单应仅出现在MyTools弹出菜单下,并且仅当我右键单击IComponent类型的对象时,此菜单才应出现。

您应在菜单贡献上使用
visibleWhen
,在处理程序上不使用
enabledWhen
。您可能应该使用
adapt
而不是
instanceof

比如:


您应该在菜单贡献时使用
visibleWhen
,在处理程序时使用no
enabledWhen
。您可能应该使用
adapt
而不是
instanceof

比如:


等价物是测试当右键单击时设置的
activeMenuSelection
activeMenuEditorInput
,并检查等价条件。这些值是可重用的,因此您需要对它们进行迭代以执行测试。请参阅。

等效功能是测试单击鼠标右键时设置的
activeMenuSelection
activeMenuEditorInput
,并检查等效条件。这些值是可重用的,因此您需要对它们进行迭代以执行测试。看