Introduction

in today' s article you will learn what a menu is and how to create a bar using awt.

Menu

Menus are very familiar to programmers in the Windows environment. A menu has a pull-down list of menu items from which the user can select one at a time. When many options in multiple categories exist for selection by the user, menus are the best choice since they take less space on the frame. A click on the MenuItem generates an ActionEvent and is handled by an ActionListener. A Menu and a MenuItem are not components since they are not subclasses of the java.awt.Component class. They are derived from the MenuComponent class. The following hierarchy illustrates that.

Menu Hierarchy

Menu creation involves many classes, like MenuBar, MenuItem and Menu and one is added to the other.
menu1.jpg

MenuComponent

A MenuComponent is the highest level class of all menu classes; like a Component, it is the super most class for all component classes like Button, Frame etc. A MenuBar is capable of holding the menus and a Menu can hold menu items. Menus are placed on a menu bar.
Procedure for Creating Menus
The following is the procedure for creating menus:
In the following program, a menu is created and populated with menu items. User's selected menu item or sub-menu item's
  1. import java.awt.*;
  2. class AWTMenu extends Frame
  3. {
  4. MenuBar mbar;
  5. Menu menu,submenu;
  6. MenuItem m1,m2,m3,m4,m5;
  7. public AWTMenu()
  8. {
  9. // Set frame properties
  10. setTitle("AWT Menu"); // Set the title
  11. setSize(300,300); // Set size to the frame
  12. setLayout(new FlowLayout()); // Set the layout
  13. setVisible(true); // Make the frame visible
  14. setLocationRelativeTo(null); // Center the frame
  15. // Create the menu bar
  16. mbar=new MenuBar();
  17. // Create the menu
  18. menu=new Menu("Menu");
  19. // Create the submenu
  20. submenu=new Menu("Sub Menu");
  21. // Create MenuItems
  22. m1=new MenuItem("Menu Item 1");
  23. m2=new MenuItem("Menu Item 2");
  24. m3=new MenuItem("Menu Item 3");
  25. m4=new MenuItem("Menu Item 4");
  26. m5=new MenuItem("Menu Item 5");
  27. // Attach menu items to menu
  28. menu.add(m1);
  29. menu.add(m2);
  30. menu.add(m3);
  31. // Attach menu items to submenu
  32. submenu.add(m4);
  33. submenu.add(m5);
  34. // Attach submenu to menu
  35. menu.add(submenu);
  36. // Attach menu to menu bar
  37. mbar.add(menu);
  38. // Set menu bar to the frame
  39. setMenuBar(mbar);
  40. }
  41. public static void main(String args[])
  42. {
  43. new AWTMenu();
  44. }
  45. }
Sample output of this program:
menu2.jpg