FileDocCategorySizeDatePackage
Ch08_01.javaAPI DocExample2584Thu Nov 20 15:01:20 GMT 2003org.eclipsebook.ch08

Ch08_01.java

package org.eclipsebook.ch08;

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.*;

public class Ch08_01 {

	Display display;
	Shell shell;
	Menu menuBar, fileMenu, helpMenu;
	MenuItem fileMenuHeader, helpMenuHeader;
	MenuItem fileExitItem, fileSaveItem, helpGetHelpItem;
	Label label;
	
    public Ch08_01(){
    
		display = new Display();
		shell = new Shell(display);
		shell.setText("Menu Example");
		shell.setSize(300, 200);
		
		label = new Label(shell, SWT.CENTER);
		label.setBounds(shell.getClientArea());

		menuBar = new Menu(shell, SWT.BAR);
		fileMenuHeader = new MenuItem(menuBar, SWT.CASCADE);
		fileMenuHeader.setText("&File");
	
		fileMenu = new Menu(shell, SWT.DROP_DOWN);
		fileMenuHeader.setMenu(fileMenu);
	
		fileSaveItem = new MenuItem(fileMenu, SWT.PUSH);
		fileSaveItem.setText("&Save");
	
		fileExitItem = new MenuItem(fileMenu, SWT.PUSH);
		fileExitItem.setText("E&xit");
	
		helpMenuHeader = new MenuItem(menuBar, SWT.CASCADE);
		helpMenuHeader.setText("&Help");
	
		helpMenu = new Menu(shell, SWT.DROP_DOWN);
		helpMenuHeader.setMenu(helpMenu);
	
		helpGetHelpItem = new MenuItem(helpMenu, SWT.PUSH);
		helpGetHelpItem.setText("&Get Help");
	
		fileExitItem.addSelectionListener(new fileExitItemListener());
		fileSaveItem.addSelectionListener(new fileSaveItemListener());
		helpGetHelpItem.addSelectionListener(new helpGetHelpItemListener());
	
		shell.setMenuBar(menuBar);
		shell.open();
		while(!shell.isDisposed()) {
			if(!display.readAndDispatch()) display.sleep();
		}
		display.dispose();
	}

	class fileExitItemListener implements SelectionListener
	{
	   public void widgetSelected(SelectionEvent event)
	   {
		  shell.close();
		  display.dispose();
	   }

	   public void widgetDefaultSelected(SelectionEvent event)
	   {
		  shell.close();
		  display.dispose();
	   }
	}

	class fileSaveItemListener implements SelectionListener
	{
	   public void widgetSelected(SelectionEvent event)
	   {
		label.setText("Saved");
	   }

	   public void widgetDefaultSelected(SelectionEvent event)
	   {
		label.setText("Saved");
	   }
	}

	class helpGetHelpItemListener implements SelectionListener
	{
	   public void widgetSelected(SelectionEvent event)
	   {
 		 label.setText("No worries!");
	   }

	   public void widgetDefaultSelected(SelectionEvent event)
	   {
		label.setText("No worries!");
	   }
	}

	public static void main(String [] args) {
        Ch08_01 menuExample = new Ch08_01();
	}
}