这篇博客建立一个菜单和工具拦的RCP程序,建立菜单和工具拦是需要利用ApplicationActinBarAdvisor类的,它有一个makeActions方法来声明actions,利用fillMenuBar和fillCoolBar方法添加菜单和工具拦。
打开ApplicationActionBarAdvisor,我们定义几个属性,
private IWorkbenchAction iExitAction;
private IWorkbenchAction iAboutAction;
private IWorkbenchAction iNewWindowAction;
private IWorkbenchAction iSaveAction;
之后找到makeActions方法,在里面可以实例化这几个属性,实例化这几个属性可以通过ActionFactory类,通过这个类可以创建退出、保存、关于、打开新窗体等等操作。
具体代码实现如下:
iExitAction=ActionFactory.QUIT.create(window);
register(iExitAction);
iSaveAction=ActionFactory.SAVE.create(window);
register(iSaveAction);
iAboutAction=ActionFactory.ABOUT.create(window);
register(iAboutAction);
iNewWindowAction=ActionFactory.OPEN_NEW_WINDOW.create(window);
register(iNewWindowAction);
之后可以通过fillMenuBar方法来添加菜单。
首先需要定义一个MenuManager类,通过这个可以创建一个菜单,通过IWorkbenchActionConstants的属性来选择创建菜单的类型,文件或者帮助等等。
之后通过add方法添加相应的action,具体代码是:
MenuManager fileMenu=new MenuManager("&File",IWorkbenchActionConstants.M_FILE);
MenuManager helpMenu=new MenuManager("&Help",IWorkbenchActionConstants.M_HELP);
menuBar.add(fileMenu);
menuBar.add(helpMenu);
fileMenu.add(iNewWindowAction);
fileMenu.add(iSaveAction);
fileMenu.add(new Separator());
fileMenu.add(iExitAction);
helpMenu.add(iAboutAction);
通过这样简单的设置之后,可以运行plugin.xml之后会出现这样的窗体:
点击file有设置的三个字菜单,
到现在,菜单栏做好了,EclipseRCP的功能确实挺强大,已经封装了很多东西,我们仅仅需要调用一下即可了,但是有时候需要一些特殊的菜单和功能,这时候就需要另行其道了。
443





