gpt4 book ai didi

java - 为什么 isEnable 没有被调用到处理程序?

转载 作者:行者123 更新时间:2023-12-01 22:50:49 25 4
gpt4 key购买 nike

我在工具栏上有带按钮的命令。

我有可见性按钮的逻辑。

在某些情况下,逻辑不是由 eclipse 触发的。

当我移动到新的 Eclipse ( luna ) 时发生这种情况

这是 list

  <command
id="RunObjectCommand"
name="%RUN_XTOL">
</command>
<menuContribution
allPopups="false"
locationURI= "toolbar:myView">
<command
commandId="RunObjectCommand"
icon="icons/lrun_obj.gif"
style="push">
</command>
</menuContribution>
</extension
<extension
point="org.eclipse.ui.handlers">
<handler
class="RunObjectHandler"
commandId="RunObjectCommand">
</handler>
</extension>

一直不调用的Handler

  public class RunObjectHandler extends AbstractActionHandler {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
.............
}

@Override
public boolean isEnabled() {
}
}

也许我需要在 list 中添加一些逻辑??

最佳答案

Eclipse Luna 不再像以前那样频繁更新工具栏。

您可以使用以下方法更新您的处理程序:

IEventBroker eventBroker = (IEventBroker)PlatformUI.getWorkbench().getService(IEventBroker.class);

eventBroker.send(UIEvents.REQUEST_ENABLEMENT_UPDATE_TOPIC, UIEvents.ALL_ELEMENT_ID);

IEventBrokerorg.eclipse.e4.core.services 中的 org.eclipse.e4.core.services.events.IEventBroker插入。 UIEventsorg.eclipse.e4.ui.workbench 插件中的 org.eclipse.e4.ui.workbench.UIEvents。此代码对于 Eclipse Luna 来说是新的。

关于java - 为什么 isEnable 没有被调用到处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com