Java Swing Tutorials - Herong's Tutorial Examples - v4.32, by Herong Yang
JMenuBarTest.java - Menu Bar Test Program
This section provides a tutorial example on how to use the javax.swing.JMenuBar class to create a menu bar in a frame window. Menus and menu items added to the menu bar will be listed horizontally.
Here is an example program I wrote to test the JMenuBar class:
/* JMenuBarTest.java * Copyright (c) 1997-2024 HerongYang.com. All Rights Reserved. */ import java.awt.event.*; import javax.swing.*; public class JMenuBarTest { public static void main(String[] a) { JFrame f = new JFrame("JMenuBar Test"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setBounds(50,50,250,150); JMenuBar mb = new JMenuBar(); mb.add(new JMenu("Tools")); mb.add(new JMenu("Options")); mb.add(new JMenuItem("Save")); mb.add(new JMenuItem("Quit")); mb.add(new JButton("Stop")); f.setJMenuBar(mb); f.getContentPane().add(new MyButton()); f.setVisible(true); } private static class MyButton extends JButton implements ActionListener { public MyButton() { super("Check"); addActionListener(this); } public void actionPerformed(ActionEvent e) { System.out.println("Check button clicked"); JFrame myFrame = (JFrame) (this.getParent().getParent()).getParent().getParent(); JMenuBar myMenuBar = myFrame.getJMenuBar(); System.out.println("# of elements in the menu bar: " +myMenuBar.getMenuCount()); System.out.println("Is the menu bar selected: " +myMenuBar.isSelected()); } } }
If you run this example, you will see the frame window shows up with the menu bar like this:
If you click the "Check" button, click the "Options" menu in the menu bar, and click the "Check" button again, you will see text output in the console window:
Check button clicked # of elements in the menu bar: 5 Is the menu bar selected: false Check button clicked # of elements in the menu bar: 5 Is the menu bar selected: true
Interesting notes about this tutorial example:
Table of Contents
Introduction of Java Swing Package
Graphics Environment of the Local System
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
JMenuBar, JMenu, and JMenuItem Classes
►JMenuBarTest.java - Menu Bar Test Program
JMenuTest.java - Menu Test Program
JMenuItemTest.java - Menu Item Test Program
JRadioButtonMenuItemTest.java - Radio Button Menu Item Test Program
JCheckBoxMenuItemTest.java - Check Box Menu Item Test Program
javax.swing.event.MenuListener - Menu Listener Interface
JMenuItemActionListenerTest.java - Menu Item Action Listener Test
Item Listener on Radio Button Menu Items
Item Listener on Check Box Menu Items
javax.swing.event.MenuKeyListener - Menu Key Listener Interface
setMnemonic() - Setting Keyboard Mnemonics on Menu Items
setAccelerator() - Setting Keyboard Accelerators on Menu Items
setMnemonic() - Setting Keyboard Mnemonics on Menus
Creating Internal Frames inside the Main Frame
Layout of Components in a Container
JEditorPane - The Editor Pane Class
SwingWorker - The Background Task Worker
AWT (Abstract Windows Toolkit)