我在Eclipse Luna RCP中遇到了命令处理程序的问题。
在我的E4应用程序模型中,我定义了一些必须启用的命令和相关处理程序
只在某些情况下。出于这个原因,在我的处理程序POJO中,我实现了
用@CanExecute
注释的方法,我检查所需的条件。
我还定义了与这些命令相关的菜单和工具栏项。
问题是我的@CanExecute
方法没有被正确调用,因此,
菜单和工具栏项目未相应启用/禁用。
特别是,对于菜单项,@CanExecute
方法仅在应用程序启动时调用几次,但在此之后从不调用。
对于工具栏项,只有当活动上下文发生更改时(例如,更改活动部件或打开新shell时)才会调用@CanExecute
方法。
在开普勒,行为完全不同(并按预期工作):
@CanExecute
方法@CanExecute
个方法这是Luna中的已知错误吗?您知道任何可能的解决方法来实现预期的行为吗?
谢谢!