Eclipse RCP添加工具栏及带下拉菜单的工具栏
一、ApplicationWorkbenchWindowAdvisor.java
?
configurer.setShowCoolBar(true);
?
二、MyFirstMenuAction.java
?
package com.dianbo.first.actions;import org.eclipse.jface.action.Action;import org.eclipse.jface.dialogs.MessageDialog;import org.eclipse.jface.resource.ImageDescriptor;import org.eclipse.ui.IWorkbenchWindow;import org.eclipse.ui.internal.IWorkbenchGraphicConstants;import org.eclipse.ui.internal.WorkbenchImages;@SuppressWarnings("restriction")public class MyFirstMenuAction extends Action {private IWorkbenchWindow window;public MyFirstMenuAction(IWorkbenchWindow window) {this.window = window;this.setText("&导航@Ctrl+Alt+N");setToolTipText("open new Action!");ImageDescriptor imageDes = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_ETOOL_EXPORT_WIZ);this.setImageDescriptor(imageDes);}public void run(){MessageDialog.openInformation(window.getShell(), "Memo", "Mr.Taxi By ????");}}?三、ApplicationActionBarAdvisor.java添加方法
?
protected void fillCoolBar(ICoolBarManager coolBar) {super.fillCoolBar(coolBar);IToolBarManager toolBar = new ToolBarManager(coolBar.getStyle());coolBar.add(toolBar);toolBar.add(newOpenAction);//添加分隔栏toolBar.add(new GroupMarker("GroupMarker1"));}第二种、自定义下拉菜单的工具栏
FirstDropDownAction.java
public class FirstDropDownAction extends Action {public FirstDropDownAction() {super("DropDown", Action.AS_DROP_DOWN_MENU);// 工具栏上提示性标签setToolTipText("dropdown menu Action");// 设置按钮图标ImageDescriptor imgDes = WorkbenchImages.getImageDescriptor(IWorkbenchGraphicConstants.IMG_ETOOL_IMPORT_WIZ);setImageDescriptor(imgDes);// 设置下拉菜单setMenuCreator(new IMenuCreator() {public Menu getMenu(Control parent) {// 定义菜单Menu menu = new Menu(parent);// 设置菜单项MenuItem item1 = new MenuItem(menu, SWT.NONE);// 设置菜单项文本,并为菜单项添键盘加快捷方式item1.setText("&FirstItem");// item1.setAccelerator(SWT.F1);// 添加事件处理item1.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {MessageDialog.openInformation(new Shell(Display.getDefault()),"DropDown Dialog","This is FirstItem DropDown Messages!");}});MenuItem item2 = new MenuItem(menu, SWT.NONE);item2.setText("&SecondItem");MenuItem item3 = new MenuItem(menu, SWT.NONE);item3.setText("&ThirdItem");MenuItem item4 = new MenuItem(menu, SWT.NONE);item4.setText("FourItem");return menu;}public Menu getMenu(Menu parent) {return null;}public void dispose() {}});}public void run() {MessageDialog.openInformation(new Shell(Display.getDefault()),"DropDown Dialog", "DropDown Messages!!");}}?