Coolbar Example : CoolBar « SWT JFace Eclipse « Java






Coolbar Example

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.CoolBar;
import org.eclipse.swt.widgets.CoolItem;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Shell;

public class CoolbarShellExample {
  Display d;

  Shell s;

  CoolbarShellExample() {
    d = new Display();
    s = new Shell(d);
    s.setSize(300, 300);
    
    s.setText("A Shell Coolbar Example");

    final CoolBar bar = new CoolBar(s, SWT.BORDER);
    bar.setSize(280, 70);
    bar.setLocation(0, 0);
    // create images for coolbar buttons
    final Image saveIcon = new Image(d, "save.jpg");
    final Image openIcon = new Image(d, "open.jpg");
    final Image cutIcon = new Image(d, "cut.jpg");
    final Image copyIcon = new Image(d, "copy.jpg");
    final Image pasteIcon = new Image(d, "paste.jpg");

    // create and add the button for performing an open operation
    final CoolItem openCoolItem = new CoolItem(bar, SWT.NONE);
    final Button openBtn = new Button(bar, SWT.PUSH);
    openBtn.setImage(openIcon);
    openBtn.pack();
    Point size = openBtn.getSize();
    openCoolItem.setControl(openBtn);
    openCoolItem.setSize(openCoolItem.computeSize(size.x, size.y));

    //create and add the button for performing a save operation
    final CoolItem saveCoolItem = new CoolItem(bar, SWT.PUSH);
    final Button saveBtn = new Button(bar, SWT.PUSH);
    saveBtn.setImage(saveIcon);
    saveBtn.pack();
    size = saveBtn.getSize();
    saveCoolItem.setControl(saveBtn);
    saveCoolItem.setSize(saveCoolItem.computeSize(size.x, size.y));

    //create and add the button for performing a cut operation
    final CoolItem cutCoolItem = new CoolItem(bar, SWT.PUSH);
    final Button cutBtn = new Button(bar, SWT.PUSH);
    cutBtn.setImage(cutIcon);
    cutBtn.pack();
    size = cutBtn.getSize();
    cutCoolItem.setControl(cutBtn);
    cutCoolItem.setSize(cutCoolItem.computeSize(size.x, size.y));

    // create and add the button for performing a copy operation
    final CoolItem copyCoolItem = new CoolItem(bar, SWT.PUSH);
    final Button copyBtn = new Button(bar, SWT.PUSH);
    copyBtn.setImage(copyIcon);
    copyBtn.pack();
    size = copyBtn.getSize();
    copyCoolItem.setControl(copyBtn);
    copyCoolItem.setSize(copyCoolItem.computeSize(size.x, size.y));

    // create and add the button for performing a paste operation
    final CoolItem pasteCoolItem = new CoolItem(bar, SWT.PUSH);
    final Button pasteBtn = new Button(bar, SWT.PUSH);
    pasteBtn.setImage(pasteIcon);
    pasteBtn.pack();
    size = pasteBtn.getSize();
    pasteCoolItem.setControl(pasteBtn);
    pasteCoolItem.setSize(pasteCoolItem.computeSize(size.x, size.y));
    pasteCoolItem.setMinimumSize(size);

    openBtn.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent event) {
        System.out.println("Open");
      }
    });

    saveBtn.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent event) {
        System.out.println("Save");
      }
    });

    cutBtn.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent event) {
        System.out.println("Cut");
      }
    });

    copyBtn.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent event) {
        System.out.println("Copy");
      }
    });

    pasteBtn.addSelectionListener(new SelectionAdapter() {
      public void widgetSelected(SelectionEvent event) {
        System.out.println("Paste");
      }
    });

    // create the menu
    Menu m = new Menu(s, SWT.BAR);

    // create a file menu and add an exit item
    final MenuItem file = new MenuItem(m, SWT.CASCADE);
    file.setText("&File");
    final Menu filemenu = new Menu(s, SWT.DROP_DOWN);
    file.setMenu(filemenu);
    final MenuItem openMenuItem = new MenuItem(filemenu, SWT.PUSH);
    openMenuItem.setText("&Open\tCTRL+O");
    openMenuItem.setAccelerator(SWT.CTRL + 'O');
    final MenuItem saveMenuItem = new MenuItem(filemenu, SWT.PUSH);
    saveMenuItem.setText("&Save\tCTRL+S");
    saveMenuItem.setAccelerator(SWT.CTRL + 'S');
    final MenuItem separator = new MenuItem(filemenu, SWT.SEPARATOR);
    final MenuItem exitMenuItem = new MenuItem(filemenu, SWT.PUSH);
    exitMenuItem.setText("E&xit");

    // create an edit menu and add cut copy and paste items
    final MenuItem edit = new MenuItem(m, SWT.CASCADE);
    edit.setText("&Edit");
    final Menu editmenu = new Menu(s, SWT.DROP_DOWN);
    edit.setMenu(editmenu);
    final MenuItem cutMenuItem = new MenuItem(editmenu, SWT.PUSH);
    cutMenuItem.setText("&Cut");
    final MenuItem copyMenuItem = new MenuItem(editmenu, SWT.PUSH);
    copyMenuItem.setText("Co&py");
    final MenuItem pasteMenuItem = new MenuItem(editmenu, SWT.PUSH);
    pasteMenuItem.setText("&Paste");

    //create a Window menu and add Child item
    final MenuItem window = new MenuItem(m, SWT.CASCADE);
    window.setText("&Window");
    final Menu windowmenu = new Menu(s, SWT.DROP_DOWN);
    window.setMenu(windowmenu);
    final MenuItem maxMenuItem = new MenuItem(windowmenu, SWT.PUSH);
    maxMenuItem.setText("Ma&ximize");
    final MenuItem minMenuItem = new MenuItem(windowmenu, SWT.PUSH);
    minMenuItem.setText("Mi&nimize");

    // create a Help menu and add an about item
    final MenuItem help = new MenuItem(m, SWT.CASCADE);
    help.setText("&Help");
    final Menu helpmenu = new Menu(s, SWT.DROP_DOWN);
    help.setMenu(helpmenu);
    final MenuItem aboutMenuItem = new MenuItem(helpmenu, SWT.PUSH);
    aboutMenuItem.setText("&About");

    // add action listeners for the menu items

    openMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Open");
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    saveMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Save");
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    exitMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.exit(0);
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    cutMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Cut");
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    copyMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Copy");
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    pasteMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Paste");
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    maxMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        Shell parent = (Shell) maxMenuItem.getParent().getParent();
        parent.setMaximized(true);
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    minMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        Shell parent = (Shell) minMenuItem.getParent().getParent();
        parent.setMaximized(false);
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    aboutMenuItem.addSelectionListener(new SelectionListener() {
      public void widgetSelected(SelectionEvent e) {
        System.out.println("Help Invoked");
      }

      public void widgetDefaultSelected(SelectionEvent e) {
      }
    });

    s.setMenuBar(m);

    s.open();
    while (!s.isDisposed()) {
      if (!d.readAndDispatch())
        d.sleep();
    }
    d.dispose();
  }

  public static void main() {
    new CoolbarShellExample();
  }

}

           
       








Related examples in the same category

1.SWT CoolBar Test DemoSWT CoolBar Test Demo
2.CoolBar ExamplesCoolBar Examples
3.CoolBarTestCoolBarTest
4.Coolbar Example 2
5.SWT ToolBar DemoSWT ToolBar Demo
6.SWY CoolBarClassSWY CoolBarClass
7.Drop-down a chevron menu containing hidden tool itemsDrop-down a chevron menu containing hidden tool items
8.Create a coolbar (relayout when resized)Create a coolbar (relayout when resized)
9.CoolBar example snippet: create a cool barCoolBar example snippet: create a cool bar
10.Control example snippet: print mouse state and button (down, move, up)Control example snippet: print mouse state and button (down, move, up)
11.Control example snippet: print key state, code and characterControl example snippet: print key state, code and character