ToolBar Examples : ToolBar « SWT JFace Eclipse « Java






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();
  }
}

           
       








Related examples in the same category

1.Test ToolBarTest ToolBar
2.Creates a toolbarCreates a toolbar
3.This class creates a complex toolbarThis class creates a complex toolbar
4.Toolbar Shell ExampleToolbar Shell Example
5.Toolbar Shell Example 2Toolbar Shell Example 2
6.SWT Toolbar DemoSWT Toolbar Demo
7.Place a drop down menu in a tool barPlace a drop down menu in a tool bar
8.Place a combo box in a tool barPlace a combo box in a tool bar
9.Create tool bar (wrap on resize)Create tool bar (wrap on resize)
10.Create tool bar (normal, hot and disabled images)Create tool bar (normal, hot and disabled images)
11.Create a flat tool bar (images)Create a flat tool bar (images)
12.Create a tool bar (text)Create a tool bar (text)