Mega Code Archive

 
Categories / Java / SWT Jface Eclipse
 

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