java.awt
Class CheckboxMenuItem

java.lang.Object
  |
  +--java.awt.MenuComponent
        |
        +--java.awt.MenuItem
              |
              +--java.awt.CheckboxMenuItem

public class CheckboxMenuItem
extends MenuItem
implements ItemSelectable

This class represents a check box that can be included in a menu. Clicking on the check box in the menu changes its state from "on" to "off" or from "off" to "on."

The following picture depicts a menu which contains an instance of CheckBoxMenuItem:

The item labeled Check shows a check box menu item in its "off" state.

When a check box menu item is selected, AWT sends an item event to the item. Since the event is an instance of ItemEvent, the processEvent method examines the event and passes it along to processItemEvent. The latter method redirects the event to any ItemListener objects that have registered an interest in item events generated by this menu item.

Since:
JDK1.0
See Also:
ItemEvent, ItemListener, Serialized Form

Field Summary
private static String base
           
private  int checkboxMenuItemSerializedDataVersion
           
(package private)  ItemListener itemListener
           
private static int nameCounter
           
private static long serialVersionUID
           
(package private)  boolean state
           
 
Fields inherited from class java.awt.MenuItem
actionCommand, actionListener, base, enabled, eventMask, label, menuItemSerializedDataVersion, nameCounter, serialVersionUID, shortcut
 
Fields inherited from class java.awt.MenuComponent
actionListenerK, appContext, font, itemListenerK, name, nameExplicitlySet, newEventsOnly, parent, peer, serialVersionUID
 
Constructor Summary
CheckboxMenuItem()
          Create a check box menu item with an empty label.
CheckboxMenuItem(String label)
          Create a check box menu item with the specified label.
CheckboxMenuItem(String label, boolean state)
          Create a check box menu item with the specified label and state.
 
Method Summary
(package private) static void ()
           
 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.
(package private)  String constructComponentName()
          Construct a name for this MenuComponent.
(package private)  boolean eventEnabled(AWTEvent e)
           
 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."
private static void initIDs()
          Initialize JNI field and method IDs
 String paramString()
          Returns the parameter string representing the state of this check box menu item.
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.
private  void readObject(ObjectInputStream s)
           
 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.
private  void writeObject(ObjectOutputStream s)
          Writes default serializable fields to stream.
 
Methods inherited from class java.awt.MenuItem
addActionListener, deleteShortcut, deleteShortcut, disable, disableEvents, enable, enable, enableEvents, getActionCommand, getLabel, getShortcut, getShortcutMenuItem, handleShortcut, isEnabled, processActionEvent, removeActionListener, setActionCommand, setEnabled, setLabel, setShortcut
 
Methods inherited from class java.awt.MenuComponent
dispatchEvent, dispatchEventImpl, getFont_NoClientCode, getFont, getName, getParent_NoClientCode, getParent, getPeer, getTreeLock, postEvent, removeNotify, setFont, setName, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

state

boolean state

itemListener

transient ItemListener itemListener

base

private static final String base

nameCounter

private static int nameCounter

serialVersionUID

private static final long serialVersionUID

checkboxMenuItemSerializedDataVersion

private int checkboxMenuItemSerializedDataVersion
Constructor Detail

CheckboxMenuItem

public CheckboxMenuItem()
Create a check box menu item with an empty label. The item's state is initially set to "off."
Since:
JDK1.1

CheckboxMenuItem

public CheckboxMenuItem(String label)
Create a check box menu item with the specified label. The item's state is initially set to "off."
Parameters:
label - a string label for the check box menu item, or null for an unlabeled menu item.

CheckboxMenuItem

public CheckboxMenuItem(String label,
                        boolean state)
Create a check box menu item with the specified label and state.
Parameters:
label - a string label for the check box menu item, or null for an unlabeled menu item.
state - the initial state of the menu item, where true indicates "on" and false indicates "off."
Since:
JDK1.1
Method Detail

static void ()

constructComponentName

String constructComponentName()
Construct a name for this MenuComponent. Called by getName() when the name is null.
Overrides:
constructComponentName in class MenuItem

addNotify

public void addNotify()
Creates the peer of the checkbox item. This peer allows us to change the look of the checkbox item without changing its functionality. Most applications do not call this method directly.
Overrides:
addNotify in class MenuItem
See Also:
Toolkit.createCheckboxMenuItem(java.awt.CheckboxMenuItem), Component.getToolkit()

getState

public boolean getState()
Determines whether the state of this check box menu item is "on" or "off."
Returns:
the state of this check box menu item, where true indicates "on" and false indicates "off."
See Also:
setState(boolean)

setState

public void setState(boolean b)
Sets this check box menu item to the specifed state. The boolean value true indicates "on" while false indicates "off."
Parameters:
b - the boolean state of this check box menu item.
See Also:
getState()

getSelectedObjects

public Object[] getSelectedObjects()
Returns the an array (length 1) containing the checkbox menu item label or null if the checkbox is not selected.
Specified by:
getSelectedObjects in interface ItemSelectable
See Also:
ItemSelectable

addItemListener

public void addItemListener(ItemListener l)
Adds the specified item listener to receive item events from this check box menu item. If l is null, no exception is thrown and no action is performed.
Specified by:
addItemListener in interface ItemSelectable
Parameters:
l - the item listener
Since:
JDK1.1
See Also:
ItemEvent, ItemListener, Choice.removeItemListener(java.awt.event.ItemListener)

removeItemListener

public void removeItemListener(ItemListener l)
Removes the specified item listener so that it no longer receives item events from this check box menu item. If l is null, no exception is thrown and no action is performed.
Specified by:
removeItemListener in interface ItemSelectable
Parameters:
l - the item listener
Since:
JDK1.1
See Also:
ItemEvent, ItemListener, Choice.addItemListener(java.awt.event.ItemListener)

eventEnabled

boolean eventEnabled(AWTEvent e)
Overrides:
eventEnabled in class MenuItem

processEvent

protected void processEvent(AWTEvent e)
Processes events on this check box menu item. If the event is an instance of ItemEvent, this method invokes the processItemEvent method. If the event is not an item event, it invokes processEvent on the superclass.

Check box menu items currently support only item events.

Parameters:
e - the event
Overrides:
processEvent in class MenuItem
Since:
JDK1.1
See Also:
ItemEvent, processItemEvent(java.awt.event.ItemEvent)

processItemEvent

protected void processItemEvent(ItemEvent e)
Processes item events occurring on this check box menu item by dispatching them to any registered ItemListener objects.

This method is not called unless item events are enabled for this menu item. Item events are enabled when one of the following occurs:

Parameters:
e - the item event.
Since:
JDK1.1
See Also:
ItemEvent, ItemListener, addItemListener(java.awt.event.ItemListener), MenuItem.enableEvents(long)

paramString

public String paramString()
Returns the parameter string representing the state of this check box menu item. This string is useful for debugging.
Returns:
the parameter string of this check box menu item.
Overrides:
paramString in class MenuItem

writeObject

private void writeObject(ObjectOutputStream s)
                  throws IOException
Writes default serializable fields to stream. Writes a list of serializable ItemListener(s) as optional data. The non-serializable ItemListner(s) are detected and no attempt is made to serialize them.
Overrides:
writeObject in class MenuItem
See Also:
AWTEventMulticaster.save(ObjectOutputStream, String, EventListener), java.awt.Component.itemListenerK

readObject

private void readObject(ObjectInputStream s)
                 throws ClassNotFoundException,
                        IOException
Overrides:
readObject in class MenuItem

initIDs

private static void initIDs()
Initialize JNI field and method IDs