AWT CheckboxMenuItem Class



The CheckboxMenuItem class represents a check box which can be included in a menu. Selecting the check box in the menu changes control's state from on to off or from off to on.

Class declaration

Following is the declaration for java.awt.CheckboxMenuItem class:

public class CheckboxMenuItem
   extends MenuItem
      implements ItemSelectable, Accessible

Class constructors

S.N.Constructor & Description


Create a check box menu item with an empty label.



Create a check box menu item with the specified label.


CheckboxMenuItem(label, boolean state)

Create a check box menu item with the specified label and state.

Class methods

S.N.Method & Description

void addItemListener(ItemListener l)

Adds the specified item listener to receive item events from this check box menu item.


void addNotify()

Creates the peer of the checkbox item.


AccessibleContext getAccessibleContext()

Gets the AccessibleContext associated with this CheckboxMenuItem.


ItemListener[] getItemListeners()

Returns an array of all the item listeners registered on this checkbox menuitem.


<T extends EventListener> T[] getListeners(Class<T> listenerType)

Returns an array of all the objects currently registered as FooListeners upon this CheckboxMenuItem.


Object[] getSelectedObjects()

Returns the an array (length 1) containing the checkbox menu item label or null if the checkbox is not selected.


boolean getState()

Determines whether the state of this check box menu item is "on" or "off."



Returns a representing the state of this CheckBoxMenuItem.


protected void processEvent(AWTEvent e)

Processes events on this check box menu item.


protected void processItemEvent(ItemEvent e)

Processes item events occurring on this check box menu item by dispatching them to any registered ItemListener objects.


void removeItemListener(ItemListener l)

Removes the specified item listener so that it no longer receives item events from this check box menu item.


void setState(boolean b)

Sets this check box menu item to the specifed state.

Methods inherited

This class inherits methods from the following classes:

  • java.awt.MenuItem

  • java.awt.MenuComponent

  • java.lang.Object

CheckboxMenuItem Example

Create the following java program using any editor of your choice in say D:/ > AWT > com > tutorialspoint > gui >
package com.tutorialspoint.gui;

import java.awt.*;
import java.awt.event.*;

public class AWTMenuDemo {
   private Frame mainFrame;
   private Label headerLabel;
   private Label statusLabel;
   private Panel controlPanel;

   public AWTMenuDemo(){

   public static void main(

[] args){ AWTMenuDemo awtMenuDemo = new AWTMenuDemo(); awtMenuDemo.showMenuDemo(); } private void prepareGUI(){ mainFrame = new Frame("Java AWT Examples"); mainFrame.setSize(400,400); mainFrame.setLayout(new GridLayout(3, 1)); mainFrame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent windowEvent){ System.exit(0); } }); headerLabel = new Label(); headerLabel.setAlignment(Label.CENTER); statusLabel = new Label(); statusLabel.setAlignment(Label.CENTER); statusLabel.setSize(350,100); controlPanel = new Panel(); controlPanel.setLayout(new FlowLayout()); mainFrame.add(headerLabel); mainFrame.add(controlPanel); mainFrame.add(statusLabel); mainFrame.setVisible(true); } private void showMenuDemo(){ //create a menu bar final MenuBar menuBar = new MenuBar(); //create menus Menu fileMenu = new Menu("File"); Menu editMenu = new Menu("Edit"); final Menu aboutMenu = new Menu("About"); //create menu items MenuItem newMenuItem = new MenuItem("New",new MenuShortcut(KeyEvent.VK_N)); newMenuItem.setActionCommand("New"); MenuItem openMenuItem = new MenuItem("Open"); openMenuItem.setActionCommand("Open"); MenuItem saveMenuItem = new MenuItem("Save"); saveMenuItem.setActionCommand("Save"); MenuItem exitMenuItem = new MenuItem("Exit"); exitMenuItem.setActionCommand("Exit"); MenuItem cutMenuItem = new MenuItem("Cut"); cutMenuItem.setActionCommand("Cut"); MenuItem copyMenuItem = new MenuItem("Copy"); copyMenuItem.setActionCommand("Copy"); MenuItem pasteMenuItem = new MenuItem("Paste"); pasteMenuItem.setActionCommand("Paste"); MenuItemListener menuItemListener = new MenuItemListener(); newMenuItem.addActionListener(menuItemListener); openMenuItem.addActionListener(menuItemListener); saveMenuItem.addActionListener(menuItemListener); exitMenuItem.addActionListener(menuItemListener); cutMenuItem.addActionListener(menuItemListener); copyMenuItem.addActionListener(menuItemListener); pasteMenuItem.addActionListener(menuItemListener); final CheckboxMenuItem showWindowMenu = new CheckboxMenuItem("Show About", true); showWindowMenu.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { if(showWindowMenu.getState()){ menuBar.add(aboutMenu); }else{ menuBar.remove(aboutMenu); } } }); //add menu items to menus fileMenu.add(newMenuItem); fileMenu.add(openMenuItem); fileMenu.add(saveMenuItem); fileMenu.addSeparator(); fileMenu.add(showWindowMenu); fileMenu.addSeparator(); fileMenu.add(exitMenuItem); editMenu.add(cutMenuItem); editMenu.add(copyMenuItem); editMenu.add(pasteMenuItem); //add menu to menubar menuBar.add(fileMenu); menuBar.add(editMenu); menuBar.add(aboutMenu); //add menubar to the frame mainFrame.setMenuBar(menuBar); mainFrame.setVisible(true); } class MenuItemListener implements ActionListener { public void actionPerformed(ActionEvent e) { statusLabel.setText(e.getActionCommand() + " MenuItem clicked."); } } }

Compile the program using command prompt. Go to D:/ > AWT and type the following command.

D:\AWT>javac com\tutorialspoint\gui\

If no error comes that means compilation is successful. Run the program using following command.

D:\AWT>java com.tutorialspoint.gui.AWTMenuDemo

Verify the following output. (Click on File Menu. Unselect "Show About" menu item.)

AWT CheckboxMenuItem