读书人

快速为view的工具条中加个上拉列表

发布时间: 2012-09-21 15:47:26 作者: rapoo

快速为view的工具条中加个下拉列表
1.设置view的工具条

 MyView extends ViewPart{ToolBar toolBar;Menu start;MenuItem aaa;MenuItem bbb; callAction = new CallAction(this);initTool(){              toolBar = new ToolBar(composite, SWT.NONE);      toolBar.setLayoutData(new GridData(SWT.LEFT, SWT.FILL, false, false));      ToolBarManager toolBarManager = new ToolBarManager(toolBar);      toolBarManager.add(refreshAction);       start = new Menu(toolBar.getShell(),SWT.DOWN);       aaa = new MenuItem(startShowmenu, SWT.PUSH);      aaa.setText("1s");      bbb = new MenuItem(startShowmenu, SWT.PUSH);      bbb.setText("2s");            aaa.addSelectionListener(new SelectionAdapter(){widgetSelect});      //****      toolBarManager.add(callAction);      toolBarManager.update(true);       }public void showMenu(){ Rectangle rect = toolBar.getItem(1).getBounds(); Point point = new Point(rect.x,rect.y+rect.height);  point = toolBar.toDisplay(point); startShowmenu.setLocation(point);   startShowmenu.setVisible(true);  oneItem.setEnabled(true); twoItem.setEnabled(true);  } } 


2.对应的action加操作
 class CallAction extends Action{    private MyView myView; public CallAction(MyView view) {super("xxx", ImageUtil.getInstance().getImageDescriptor("xxx"));this.myView = view;setMenuCreator(new IMenuCreator() {@Overridepublic Menu getMenu(Menu parent) {return null;}@Overridepublic Menu getMenu(Control parent) {return null;}@Overridepublic void dispose() {}});setToolTipText("-----------");  setText("********");}    @Override    public void run() {    myView.showMenu();    }        @Override    public void runWithEvent(Event event) {    if (event.detail == SWT.ARROW) {    //选择箭头时展开菜单    statisticsView.showMenu();    }else{      setToolTipText("DDDDDD");    。。。。。。     }     }     }

读书人网 >软件架构设计

热点推荐