现在又很多需求都需要动态去改变Action的enable/disenable,其实很简单,只需要在构造Action的时候加入setActionDefinitionId(actinDefID);就可以了,然后就可以通过ID来获得Action了getActionRegistry().getAction(actionID);
还有种方法,那就是Map了,运用键值对的关系set进去,这种方法好像是eclipse源代码里经常用到的,我也是通过翻看了源代码才知道的,不过这个方法是GEF的,那么在RCP/SWT环境下怎么做呢?RCP环境下的Action都是jface的Action,jface里有个IContributionManager接口用来管理菜单的,里面有个find方法得到MenuManager,得到MenuManager之后再用MenuManager中的find方法得到Action
还有种方法,那就是Map了,运用键值对的关系set进去,这种方法好像是eclipse源代码里经常用到的,我也是通过翻看了源代码才知道的,不过这个方法是GEF的,那么在RCP/SWT环境下怎么做呢?RCP环境下的Action都是jface的Action,jface里有个IContributionManager接口用来管理菜单的,里面有个find方法得到MenuManager,得到MenuManager之后再用MenuManager中的find方法得到Action