Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

ToolBar Examples

/******************************************************************************  * All Right Reserved.   * Copyright (c) 1998, 2004 Jackwind Li Guojie  *   * Created on Feb 25, 2004 7:48:37 PM by JACK  * $Id$  *   *****************************************************************************/ import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.MenuItem; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.swt.widgets.ToolBar; import org.eclipse.swt.widgets.ToolItem; public class ToolBarExamples {   Display display = new Display();   Shell shell = new Shell(display);   ToolBar toolBar;      public ToolBarExamples() {     toolBar = new ToolBar(shell, SWT.FLAT | SWT.WRAP | SWT.RIGHT);          ToolItem itemPush = new ToolItem(toolBar, SWT.PUSH);     itemPush.setText("PUSH item");     Image icon = new Image(shell.getDisplay(), "icons/new.gif");     itemPush.setImage(icon);          ToolItem itemCheck = new ToolItem(toolBar, SWT.CHECK);     itemCheck.setText("CHECK item");          ToolItem itemRadio1 = new ToolItem(toolBar, SWT.RADIO);     itemRadio1.setText("RADIO item 1");          ToolItem itemRadio2 = new ToolItem(toolBar, SWT.RADIO);     itemRadio2.setText("RADIO item 2");          ToolItem itemSeparator = new ToolItem(toolBar, SWT.SEPARATOR);     Text text = new Text(toolBar, SWT.BORDER | SWT.SINGLE);     text.pack();     itemSeparator.setWidth(text.getBounds().width);     itemSeparator.setControl(text);          final ToolItem itemDropDown = new ToolItem(toolBar, SWT.DROP_DOWN);     itemDropDown.setText("DROP_DOWN item");     itemDropDown.setToolTipText("Click here to see a drop down menu ...");          final Menu menu = new Menu(shell, SWT.POP_UP);     new MenuItem(menu, SWT.PUSH).setText("Menu item 1");     new MenuItem(menu, SWT.PUSH).setText("Menu item 2");     new MenuItem(menu, SWT.SEPARATOR);     new MenuItem(menu, SWT.PUSH).setText("Menu item 3");          itemDropDown.addListener(SWT.Selection, new Listener() {       public void handleEvent(Event event) {         if(event.detail == SWT.ARROW) {           Rectangle bounds = itemDropDown.getBounds();           Point point = toolBar.toDisplay(bounds.x, bounds.y + bounds.height);           menu.setLocation(point);           menu.setVisible(true);         }       }     });          Listener selectionListener = new Listener() {       public void handleEvent(Event event) {         ToolItem item = (ToolItem)event.widget;         System.out.println(item.getText() + " is selected");         if( (item.getStyle() & SWT.RADIO) != 0 || (item.getStyle() & SWT.CHECK) != 0 )            System.out.println("Selection status: " + item.getSelection());       }     };          itemPush.addListener(SWT.Selection, selectionListener);     itemCheck.addListener(SWT.Selection, selectionListener);     itemRadio1.addListener(SWT.Selection, selectionListener);     itemRadio2.addListener(SWT.Selection, selectionListener);     itemDropDown.addListener(SWT.Selection, selectionListener);     toolBar.pack();          shell.addListener(SWT.Resize, new Listener() {       public void handleEvent(Event event) {         Rectangle clientArea = shell.getClientArea();         toolBar.setSize(toolBar.computeSize(clientArea.width, SWT.DEFAULT));       }     });          shell.setSize(500, 100);     shell.open();     //textUser.forceFocus();     // Set up the event loop.     while (!shell.isDisposed()) {       if (!display.readAndDispatch()) {         // If no more entries in event queue         display.sleep();       }     }     display.dispose();   }   private void init() {   }   public static void main(String[] args) {     new ToolBarExamples();   } }