我在"文件"菜单中创建了一个菜单项作为命令.对于此命令,有一个实现该IHandler接口的处理程序.此处理程序包含该isEnabled方法.我正在尝试使用此方法来启用/禁用我的菜单项,但是当我单击"文件"菜单时,该方法仅被调用一次.单击第二次,第三次等时,isEnabled即使我之前更改了页面状态(打开/关闭编辑器),也不会再次调用该方法.
我该怎么办?也许这种方法不适用于控制菜单项?
你正在子类化吗org.eclipse.core.commands.AbstractHandler?您应该用来setBaseEnabled(boolean)更新处理程序的状态(这将更新您的命令)。
仅当您还触发了HandlerEvent. 通常更容易拨打电话setBaseEnabled(boolean)来为您触发事件。