(开发环境为JDK 1.5+Eclipse 3.3)
RCP中创建菜单和工具栏可以有两种方法:
- 直接继承Action类,同时也可以实现IAction接口,然后在run()方法中实现主要的逻辑代码
- 利用扩展点org.eclipse.ui.actionSets
第二种方法相比较第一种方法要简单方便很多,故这里解释一下第二种方法。
扩展点org.eclipse.ui.actionSets 显示如下:
运行效果如下:
几点说明(参照下图):
- ActionSet下扩展的menu的最后运行显示结果与编辑时的菜单顺序相反。
- 由ActionSet下的menu可以扩展separator和groupmaker,主要区别是扩展separator,则在各子菜单间以一分隔线隔开;groupmaker则没。
- Action中的menubarPath属性(红色),其值必须以“/”分开,若置空,则不会在其菜单中显示,更甚的是当此Action所在的菜单只有这一个子菜单时,那么这整个菜单都不会显示。
- Action中的toolbarpath属性(蓝色),其值为空时将不在工具栏上显示;其值可以是任意字符串,只要值相同则代表了工具栏上具有相似功能的一组按钮,与其它组用分割线隔开。
- Action中的class属性(紫色),其值一般不要为空。
- 作为在工具栏上显示的Action,只是在作为具有相似功能的按钮组内其顺序与编辑时的顺序相反,而其余整体顺序与编辑时相同。