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)