
	import java.awt.*;
	import java.awt.event.*;
	import java.awt.AWTEvent;
	
	public class PopMenus extends Frame
	{
		MenuBar menu = new MenuBar();
		PopupMenu p = new PopupMenu();

		public void init()
		{
			setSize(300,300);
			
			Menu f = new Menu("file");
			f.add(new MenuItem("new",new MenuShortcut(KeyEvent.VK_N)));
			f.add(new MenuItem("open" ,new MenuShortcut(KeyEvent.VK_O)));          
			f.add(new MenuItem("close" ,new MenuShortcut(KeyEvent.VK_C)));
			f.addSeparator();
			f.add(new MenuItem("print" ,new MenuShortcut(KeyEvent.VK_P)));
			f.addSeparator();
			f.add(new MenuItem("exit" ,new MenuShortcut(KeyEvent.VK_E)));
			menu.add(f);

			Menu e = new Menu("edit");
			e.add(new MenuItem ("cut"));
			e.add(new MenuItem ("copy"));
			e.add(new MenuItem ("paste"));
			menu.add(e);

			Menu o = new Menu("options"); 

			Menu s = new Menu("settings"); 
			s.add(new MenuItem("printer"));
			s.add(new MenuItem("tab"));

			Menu c = new Menu("colors");
			c.add(new MenuItem("background"));
			c.add(new MenuItem("item"));

			o.add(s);
			o.add(c);
			menu.add(o);
			
			Menu h = new Menu("help");
			f.add(new MenuItem ("how to use"));
			f.add(new MenuItem ("about"));
			menu.add(h);
			setMenuBar(menu);
			
			enableEvents(AWTEvent.MOUSE_EVENT_MASK);
			p.add(new MenuItem("cut"));
			p.add(new MenuItem("copy"));
			p.add(new MenuItem("paste"));
			add(p);


			setVisible(true);
		}

		public void processMouseEvent(MouseEvent e)
		{
			if(e.getID() == MouseEvent.MOUSE_RELEASED & e.isPopupTrigger())
				p.show(this, e.getX(), e.getY());
		}

 		public PopMenus(String caption)
		{
			super(caption);
			init();
		}
	
		public static void main (String args[])
		{
			PopMenus m = new PopMenus("my first menus");
		}
	}
