Java Swing Tutorials - Herong's Tutorial Examples - v4.32, by Herong Yang
JCheckBoxMenuItemTest.java - Check Box Menu Item Test Program
This section provides a tutorial example on how to use the javax.swing.JCheckBoxMenuItemTest class to create check box menu items. If a check box menu item is selected, its check box icon will have a check sign.
Swing also supports a special menu item class, javax.swing.JCheckBoxMenuItem, which represents check box menu items with following special features:
Here is an example program I wrote to test the JCheckBoxMenuItemTest classes:
/* JCheckBoxMenuItemTest.java
* Copyright (c) 1997-2024 HerongYang.com. All Rights Reserved.
*/
import javax.swing.*;
public class JCheckBoxMenuItemTest {
JFrame myFrame = null;
public static void main(String[] a) {
(new JCheckBoxMenuItemTest()).test();
}
private void test() {
myFrame = new JFrame("Check Box Menu Item Test");
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setBounds(50,50,250,150);
myFrame.setContentPane(new JDesktopPane());
JMenuBar myMenuBar = new JMenuBar();
JMenu myMenu = getFileMenu();
myMenuBar.add(myMenu);
myMenu = getColorMenu();
myMenuBar.add(myMenu);
myMenu = getOptionMenu();
myMenuBar.add(myMenu);
JMenuItem myItem = new JMenuItem("Help");
myMenuBar.add(myItem);
myFrame.setJMenuBar(myMenuBar);
myFrame.setVisible(true);
}
private JMenu getFileMenu() {
JMenu myMenu = new JMenu("File");
JMenuItem myItem = new JMenuItem("Open");
myMenu.add(myItem);
myItem = new JMenuItem("Close");
myItem.setEnabled(false);
myMenu.add(myItem);
myMenu.addSeparator();
myItem = new JMenuItem("Exit");
myMenu.add(myItem);
return myMenu;
}
private JMenu getColorMenu() {
JMenu myMenu = new JMenu("Color");
JMenuItem myItem = new JMenuItem("Red");
myMenu.add(myItem);
myItem = new JMenuItem("Green");
myMenu.add(myItem);
myItem = new JMenuItem("Blue");
myMenu.add(myItem);
return myMenu;
}
private JMenu getOptionMenu() {
JMenu myMenu = new JMenu("Option");
JCheckBoxMenuItem myItem = new JCheckBoxMenuItem("Sound");
myItem.setSelected(true);
myMenu.add(myItem);
myItem = new JCheckBoxMenuItem("Auto save");
myMenu.add(myItem);
return myMenu;
}
}
If you run this example, you will see the frame window shows up with the menu bar like this:
Interesting notes about this tutorial example:
There seems to be a problem with check box menu items on macOS computers. They are displayed without the check box icons. If you run the same program on a Windows computer, you will see check box icons displayed as shown below.
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)