MenuItemTest.java - AWT Menu Item Test Program

This section provides a tutorial example on how to use the java.awt.MenuItem class to create menu items and add them to different menus, sub menus, or the menu bar. Sub menus and menu items added to a menu will be listed vertically when the menu is selected.

Here is an example program I wrote to test the java.awt.MenuItem class:

/* MenuItemTest.java
 * Copyright (c) 1997-2024 HerongYang.com. All Rights Reserved.
 */
import java.awt.Frame;
import java.awt.MenuBar;
import java.awt.Menu;
import java.awt.MenuItem;
public class MenuItemTest {
   Frame myFrame = null;
   public static void main(String[] a) {
      (new MenuItemTest()).test();
   }
   private void test() {
      myFrame = new Frame("Menu Item Test");
      myFrame.setBounds(50,50,250,150);

      MenuBar myMenuBar = new MenuBar();
      Menu myMenu = getFileMenu();
      myMenuBar.add(myMenu);
      myMenu = getColorMenu();
      myMenuBar.add(myMenu);
      myMenu = getOptionMenu();
      myMenuBar.add(myMenu);

      myFrame.setMenuBar(myMenuBar);
      myFrame.setVisible(true);
   }
   private Menu getFileMenu() {
      Menu myMenu = new Menu("File");
      MenuItem myItem = new MenuItem("Open");
      myMenu.add(myItem);
      myItem = new MenuItem("Close");
      myItem.setEnabled(false);
      myMenu.add(myItem);
      myMenu.addSeparator();
      myItem = new MenuItem("Exit");
      myMenu.add(myItem);
      return myMenu;
   }
   private Menu getColorMenu() {
      Menu myMenu = new Menu("Color");
      MenuItem myItem = new MenuItem("Red");
      myMenu.add(myItem);
      myItem = new MenuItem("Green");
      myMenu.add(myItem);
      myItem = new MenuItem("Blue");
      myMenu.add(myItem);
      return myMenu;
   }
   private Menu getOptionMenu() {
      Menu myMenu = new Menu("Option");
      Menu mySubMenu = getOnOffMenu("Sound");
      myMenu.add(mySubMenu);
      mySubMenu = getOnOffMenu("Auto save");
      mySubMenu.setEnabled(false);
      myMenu.add(mySubMenu);
      return myMenu;
   }
   private Menu getOnOffMenu(String title) {
      Menu myMenu = new Menu(title);
      MenuItem myItem = new MenuItem("On");
      myMenu.add(myItem);
      myItem = new MenuItem("Off");
      myMenu.add(myItem);
      return myMenu;
   }
}

If you run this example, you will see the frame window shows up with the menu bar like this:

AWT Menu Item Test
AWT Menu Item Test

Interesting notes about this tutorial example:

Note that there seems to be a problem with the f.setMenuBar(mb) call on macOS computers. It fails to display the menu bar.

Table of Contents

 About This Book

 JDK (Java Development Kit)

 Introduction of Java Swing Package

 Graphics Environment of the Local System

 JFrame - Main Frame Class

 JLabel - Swing Label Class

 JButton - Swing Button Class

 JCheckBox - Swing Check Box Class

 JRadioButton - Swing Radio Button Class

 JTextField - Swing Text Field Class

 JComboBox - Swing Combo Box Class

 Menu Bar, Menus, Menu Items and Listeners

 Creating Internal Frames inside the Main Frame

 Layout of Components in a Container

 LookAndFeel and UIManager

 Option Dialog Boxes

 JEditorPane - The Editor Pane Class

 SwingWorker - The Background Task Worker

AWT (Abstract Windows Toolkit)

 What Is AWT (Abstract Windows Toolkit)

 HelloAWT.java - My First AWT Program

 Closing AWT Frame and Terminating Application

 Drawing Graphics - Using paint() on Frame or Component

 Creating Labels with java.awt.Label Class

 Creating Buttons with java.awt.Button Class

 AWT Button Action Handler at the Component Level

 AWT Button Action Handler at the Frame Level

 AWT Button Mouse Click Handler at the Frame Level

 AWT TextField and ActionListener

 MenuBarTest.java - AWT Menu Bar Test Program

 MenuTest.java - AWT Menu Test Program

MenuItemTest.java - AWT Menu Item Test Program

 MenuItemActionListenerTest.java - AWT Menu Item Action Listener

 Integration with Desktop System

 Archived Tutorials

 References

 Full Version in PDF/EPUB