在网上查了好久,很少有使用扩展方式创建菜单(Menu)的文章,有一部分是用修改java文件实现菜单创建的。考虑Eclipse RCP开发提供了扩展功能的作用,在此介绍扩展方式创建Menu。
本应用基于Eclipse RCP开发入门(一)中的刚刚创建的“Hello RCP”项目进行。
1、打开META-INF-MANIFEST.MF文件(该文件在刚刚创建完项目的时候缺省是自动打开的),并选择“扩展”选项卡。
2、点“添加”按钮新建一个扩展org.eclipse.ui.actionSets
3、在新建立的org.eclipse.ui.actionSets扩展下,新建一个actionSet扩展,该扩展可以理解为menu的抽象。扩展信息中需要填写id,label,选择visible为true。如图(注意,带有*号的是必填项):
4、右键actionSet,建立menu。menu可以理解为action的上级容器,可以指定action放在哪个menu下面。填写id,label。如图:
5、右键actionSet,建立action。action可以理解为每“列”菜单下的具有实际动作的菜单项。填写id,label。这里需要注意的是menubarpath是必须填写的,描述该action的路径,如图,menu1是我上面创建的menu的id,action1是menu1的组名,注意,不是action名,具体信息参照《Eclipse RCP开发入门(三)——ActionSets》。
6、运行效果
几个注意点:
1、actionset设置visible为true后,java文件中不用在进行visible为true的设置。
2、就目前来说,我没有找到使用扩展的方式创建二级菜单的方式,可以通过编写java代码的方式进行二级菜单的创建。
3、如果menubarpath设置不正确,则菜单会不显示出来,这里需要反复的测试使用才行。