# Class CheckboxMenuItem.AccessibleAWTCheckboxMenuItem

java.lang.Object
javax.accessibility.AccessibleContext
java.awt.MenuComponent.AccessibleAWTMenuComponent
java.awt.MenuItem.AccessibleAWTMenuItem
java.awt.CheckboxMenuItem.AccessibleAWTCheckboxMenuItem

All Implemented Interfaces:
  `Serializable, AccessibleAction, AccessibleComponent, AccessibleSelection, AccessibleValue`

Enclosing class:
  `CheckboxMenuItem`

protected class CheckboxMenuItem.AccessibleAWTCheckboxMenuItem extends MenuItem.AccessibleAWTMenuItem implements AccessibleAction, AccessibleValue
Inner class of CheckboxMenuItem used to provide default support for accessibility. This class is not meant to be used directly by application developers, but is instead meant only to be subclassed by menu component developers.

This class implements accessibility support for the `CheckboxMenuItem` class. It provides an implementation of the Java Accessibility API appropriate to checkbox menu item user-interface elements.

Since:
  1.3
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields declared in class AccessibleContext

  `ACCESSIBLE_ACTION_PROPERTY, ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY, ACCESSIBLE_CARET_PROPERTY, ACCESSIBLE_CHILD_PROPERTY, ACCESSIBLE_COMPONENT_BOUNDS_CHANGED, ACCESSIBLE_DESCRIPTION_PROPERTY, ACCESSIBLE_HYPERTEXT_OFFSET, ACCESSIBLE_INVALIDATE_CHILDREN, ACCESSIBLE_NAME_PROPERTY, ACCESSIBLE_SELECTION_PROPERTY, ACCESSIBLE_STATE_PROPERTY, ACCESSIBLE_TABLE_CAPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED, ACCESSIBLE_TABLE_MODEL_CHANGED, ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED, ACCESSIBLE_TABLE_ROW_HEADER_CHANGED, ACCESSIBLE_TABLE_SUMMARY_CHANGED, ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED, ACCESSIBLE_TEXT_PROPERTY, ACCESSIBLE_VALUE_PROPERTY, ACCESSIBLE_VISIBLE_DATA_PROPERTY, accessibleDescription, accessibleName, accessibleParent`
  Modifier and Type
  Field
  Description
  `static final String`
  `ACCESSIBLE_ACTION_PROPERTY`
  Constant used to indicate that the supported set of actions has changed.
  `static final String`
  `ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY`
  Constant used to determine when the active descendant of a component has changed.
  `static final String`
  `ACCESSIBLE_CARET_PROPERTY`
  Constant used to determine when the `accessibleText` caret has changed.
  `static final String`
  `ACCESSIBLE_CHILD_PROPERTY`
  Constant used to determine when `Accessible` children are added/removed from the object.
  `static final String`
  `ACCESSIBLE_COMPONENT_BOUNDS_CHANGED`
  `PropertyChangeEvent` which indicates that a change has occurred in a component's bounds.
  `static final String`
  `ACCESSIBLE_DESCRIPTION_PROPERTY`
  Constant used to determine when the `AccessibleContext.accessibleDescription` property has changed.
  `static final String`
  `ACCESSIBLE_HYPERTEXT_OFFSET`
  Constant used to indicate that a hypertext element has received focus.
  `static final String`
  `ACCESSIBLE_INVALIDATE_CHILDREN`
  `PropertyChangeEvent` which indicates that a significant change has occurred to the children of a component like a tree or text.
  `static final String`
  `ACCESSIBLE_NAME_PROPERTY`
  Constant used to determine when the `AccessibleContext.accessibleName` property has changed.
  `static final String`
  `ACCESSIBLE_SELECTION_PROPERTY`
  Constant used to determine when the `accessibleSelection` has changed.
  `static final String`
  `ACCESSIBLE_STATE_PROPERTY`
  Constant used to determine when the `accessibleStateSet` property has changed.
  `static final String`
  `ACCESSIBLE_TABLE_CAPTION_CHANGED`
  Constant used to indicate that the table caption has changed.
  `static final String`
  `ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED`
  Constant used to indicate that the column description has changed.
  `static final String`
  `ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED`
  Constant used to indicate that the column header has changed.
  `static final String`
  `ACCESSIBLE_TABLE_MODEL_CHANGED`
  Constant used to indicate that table data has changed.
  `static final String`
  `ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED`
  Constant used to indicate that the row description has changed.
  `static final String`
  `ACCESSIBLE_TABLE_ROW_HEADER_CHANGED`
  Constant used to indicate that the row header has changed.
  `static final String`
  `ACCESSIBLE_TABLE_SUMMARY_CHANGED`
  Constant used to indicate that the table summary has changed.
  `static final String`
  `ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED`
  `PropertyChangeEvent` which indicates that text attributes have changed.
  `static final String`
  `ACCESSIBLE_TEXT_PROPERTY`
  `PropertyChangeEvent` which indicates that text has changed.
  `static final String`
  `ACCESSIBLE_VALUE_PROPERTY`
  Constant used to determine when the `accessibleValue` property has changed.
  `static final String`
  `ACCESSIBLE_VISIBLE_DATA_PROPERTY`
  Constant used to determine when the visual appearance of the object has changed.
  `protected String`
  `accessibleDescription`
  A localized String containing the description of the object.
  `protected String`
  `accessibleName`
  A localized String containing the name of the object.
  `protected Accessible`
  `accessibleParent`
  The accessible parent of this object.

  ### Fields declared in interface AccessibleAction

  `CLICK, DECREMENT, INCREMENT, TOGGLE_EXPAND, TOGGLE_POPUP`
  Modifier and Type
  Field
  Description
  `static final String`
  `CLICK`
  An action which causes a component to execute its default action.
  `static final String`
  `DECREMENT`
  An action which decrements a value.
  `static final String`
  `INCREMENT`
  An action which increments a value.
  `static final String`
  `TOGGLE_EXPAND`
  An action which causes a tree node to collapse if expanded and expand if collapsed.
  `static final String`
  `TOGGLE_POPUP`
  An action which causes a popup to become visible if it is hidden and hidden if it is visible.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `AccessibleAWTCheckboxMenuItem()`
  Constructs an `AccessibleAWTCheckboxMenuItem`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `doAccessibleAction(int i)`
  Perform the specified Action on the object
  `AccessibleAction`
  `getAccessibleAction()`
  Get the AccessibleAction associated with this object.
  `int`
  `getAccessibleActionCount()`
  Returns the number of Actions available in this object.
  `String`
  `getAccessibleActionDescription(int i)`
  Return a description of the specified action of the object.
  `AccessibleRole`
  `getAccessibleRole()`
  Get the role of this object.
  `AccessibleValue`
  `getAccessibleValue()`
  Get the AccessibleValue associated with this object.
  `Number`
  `getCurrentAccessibleValue()`
  Get the value of this object as a Number.
  `Number`
  `getMaximumAccessibleValue()`
  Get the maximum value of this object as a Number.
  `Number`
  `getMinimumAccessibleValue()`
  Get the minimum value of this object as a Number.
  `boolean`
  `setCurrentAccessibleValue(Number n)`
  Set the value of this object as a Number.

  ### Methods declared in class MenuItem.AccessibleAWTMenuItem

  `getAccessibleName`
  Modifier and Type
  Method
  Description
  `String`
  `getAccessibleName()`
  Get the accessible name of this object.

  ### Methods declared in class MenuComponent.AccessibleAWTMenuComponent

  `addAccessibleSelection, addFocusListener, clearAccessibleSelection, contains, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAccessibleComponent, getAccessibleDescription, getAccessibleIndexInParent, getAccessibleParent, getAccessibleSelection, getAccessibleSelection, getAccessibleSelectionCount, getAccessibleStateSet, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getSize, isAccessibleChildSelected, isEnabled, isFocusTraversable, isShowing, isVisible, removeAccessibleSelection, removeFocusListener, requestFocus, selectAllAccessibleSelection, setBackground, setBounds, setCursor, setEnabled, setFont, setForeground, setLocation, setSize, setVisible`
  Modifier and Type
  Method
  Description
  `void`
  `addAccessibleSelection(int i)`
  Adds the specified `Accessible` child of the object to the object's selection.
  `void`
  `addFocusListener(FocusListener l)`
  Adds the specified focus listener to receive focus events from this component.
  `void`
  `clearAccessibleSelection()`
  Clears the selection in the object, so that no children in the object are selected.
  `boolean`
  `contains(Point p)`
  Checks whether the specified point is within this object's bounds, where the point's x and y coordinates are defined to be relative to the coordinate system of the object.
  `Accessible`
  `getAccessibleAt(Point p)`
  Returns the `Accessible` child, if one exists, contained at the local coordinate `Point`.
  `Accessible`
  `getAccessibleChild(int i)`
  Returns the nth `Accessible` child of the object.
  `int`
  `getAccessibleChildrenCount()`
  Returns the number of accessible children in the object.
  `AccessibleComponent`
  `getAccessibleComponent()`
  Gets the `AccessibleComponent` associated with this object if one exists.
  `String`
  `getAccessibleDescription()`
  Gets the accessible description of this object.
  `int`
  `getAccessibleIndexInParent()`
  Gets the index of this object in its accessible parent.
  `Accessible`
  `getAccessibleParent()`
  Gets the `Accessible` parent of this object.
  `AccessibleSelection`
  `getAccessibleSelection()`
  Gets the `AccessibleSelection` associated with this object which allows its `Accessible` children to be selected.
  `Accessible`
  `getAccessibleSelection(int i)`
  Returns an `Accessible` representing the specified selected child in the object.
  `int`
  `getAccessibleSelectionCount()`
  Returns the number of `Accessible` children currently selected.
  `AccessibleStateSet`
  `getAccessibleStateSet()`
  Gets the state of this object.
  `Color`
  `getBackground()`
  Gets the background color of this object.
  `Rectangle`
  `getBounds()`
  Gets the bounds of this object in the form of a `Rectangle` object.
  `Cursor`
  `getCursor()`
  Gets the `Cursor` of this object.
  `Font`
  `getFont()`
  Gets the `Font` of this object.
  `FontMetrics`
  `getFontMetrics(Font f)`
  Gets the `FontMetrics` of this object.
  `Color`
  `getForeground()`
  Gets the foreground color of this object.
  `Locale`
  `getLocale()`
  Returns the locale of this object.
  `Point`
  `getLocation()`
  Gets the location of the object relative to the parent in the form of a point specifying the object's top-left corner in the screen's coordinate space.
  `Point`
  `getLocationOnScreen()`
  Returns the location of the object on the screen.
  `Dimension`
  `getSize()`
  Returns the size of this object in the form of a `Dimension` object.
  `boolean`
  `isAccessibleChildSelected(int i)`
  Determines if the current child of this object is selected.
  `boolean`
  `isEnabled()`
  Determines if the object is enabled.
  `boolean`
  `isFocusTraversable()`
  Returns whether this object can accept focus or not.
  `boolean`
  `isShowing()`
  Determines if the object is showing.
  `boolean`
  `isVisible()`
  Determines if the object is visible.
  `void`
  `removeAccessibleSelection(int i)`
  Removes the specified child of the object from the object's selection.
  `void`
  `removeFocusListener(FocusListener l)`
  Removes the specified focus listener so it no longer receives focus events from this component.
  `void`
  `requestFocus()`
  Requests focus for this object.
  `void`
  `selectAllAccessibleSelection()`
  Causes every child of the object to be selected if the object supports multiple selections.
  `void`
  `setBackground(Color c)`
  Sets the background color of this object.
  `void`
  `setBounds(Rectangle r)`
  Sets the bounds of this object in the form of a `Rectangle` object.
  `void`
  `setCursor(Cursor cursor)`
  Sets the `Cursor` of this object.
  `void`
  `setEnabled(boolean b)`
  Sets the enabled state of the object.
  `void`
  `setFont(Font f)`
  Sets the `Font` of this object.
  `void`
  `setForeground(Color c)`
  Sets the foreground color of this object.
  `void`
  `setLocation(Point p)`
  Sets the location of the object relative to the parent.
  `void`
  `setSize(Dimension d)`
  Resizes this object.
  `void`
  `setVisible(boolean b)`
  Sets the visible state of the object.

  ### Methods declared in class AccessibleContext

  `addPropertyChangeListener, firePropertyChange, getAccessibleEditableText, getAccessibleIcon, getAccessibleRelationSet, getAccessibleTable, getAccessibleText, removePropertyChangeListener, setAccessibleDescription, setAccessibleName, setAccessibleParent`
  Modifier and Type
  Method
  Description
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  Adds a `PropertyChangeListener` to the listener list.
  `void`
  `firePropertyChange(String propertyName, Object oldValue, Object newValue)`
  Support for reporting bound property changes.
  `AccessibleEditableText`
  `getAccessibleEditableText()`
  Gets the `AccessibleEditableText` associated with this object presenting editable text on the display.
  `AccessibleIcon[]`
  `getAccessibleIcon()`
  Gets the `AccessibleIcons` associated with an object that has one or more associated icons.
  `AccessibleRelationSet`
  `getAccessibleRelationSet()`
  Gets the `AccessibleRelationSet` associated with an object.
  `AccessibleTable`
  `getAccessibleTable()`
  Gets the `AccessibleTable` associated with an object.
  `AccessibleText`
  `getAccessibleText()`
  Gets the `AccessibleText` associated with this object presenting text on the display.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  Removes a `PropertyChangeListener` from the listener list.
  `void`
  `setAccessibleDescription(String s)`
  Sets the accessible description of this object.
  `void`
  `setAccessibleName(String s)`
  Sets the localized accessible name of this object.
  `void`
  `setAccessibleParent(Accessible a)`
  Sets the `Accessible` parent of this object.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### AccessibleAWTCheckboxMenuItem

    protected AccessibleAWTCheckboxMenuItem()
    Constructs an `AccessibleAWTCheckboxMenuItem`.

- ## Method Details

  - ### getAccessibleAction

    public AccessibleAction getAccessibleAction()
    Get the AccessibleAction associated with this object. In the implementation of the Java Accessibility API for this class, return this object, which is responsible for implementing the AccessibleAction interface on behalf of itself.
    Overrides:
      `getAccessibleAction` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      this object
    See Also:
      - `AccessibleAction`

  - ### getAccessibleValue

    public AccessibleValue getAccessibleValue()
    Get the AccessibleValue associated with this object. In the implementation of the Java Accessibility API for this class, return this object, which is responsible for implementing the AccessibleValue interface on behalf of itself.
    Overrides:
      `getAccessibleValue` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      this object
    See Also:
      - `AccessibleValue`

  - ### getAccessibleActionCount

    public int getAccessibleActionCount()
    Returns the number of Actions available in this object. If there is more than one, the first one is the "default" action.
    Specified by:
      `getAccessibleActionCount` in interface `AccessibleAction`
    Overrides:
      `getAccessibleActionCount` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      the number of Actions in this object

  - ### getAccessibleActionDescription

    public String getAccessibleActionDescription(int i)
    Return a description of the specified action of the object.
    Specified by:
      `getAccessibleActionDescription` in interface `AccessibleAction`
    Overrides:
      `getAccessibleActionDescription` in class `MenuItem.AccessibleAWTMenuItem`
    Parameters:
      `i` - zero-based index of the actions
    Returns:
      a `String` description of the action
    See Also:
      - `AccessibleAction.getAccessibleActionCount()`

  - ### doAccessibleAction

    public boolean doAccessibleAction(int i)
    Perform the specified Action on the object
    Specified by:
      `doAccessibleAction` in interface `AccessibleAction`
    Overrides:
      `doAccessibleAction` in class `MenuItem.AccessibleAWTMenuItem`
    Parameters:
      `i` - zero-based index of actions
    Returns:
      true if the action was performed; otherwise false.
    See Also:
      - `AccessibleAction.getAccessibleActionCount()`

  - ### getCurrentAccessibleValue

    public Number getCurrentAccessibleValue()
    Get the value of this object as a Number. If the value has not been set, the return value will be null.
    Specified by:
      `getCurrentAccessibleValue` in interface `AccessibleValue`
    Overrides:
      `getCurrentAccessibleValue` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      value of the object
    See Also:
      - `setCurrentAccessibleValue(Number)`

  - ### setCurrentAccessibleValue

    public boolean setCurrentAccessibleValue(Number n)
    Set the value of this object as a Number.
    Specified by:
      `setCurrentAccessibleValue` in interface `AccessibleValue`
    Overrides:
      `setCurrentAccessibleValue` in class `MenuItem.AccessibleAWTMenuItem`
    Parameters:
      `n` - the number to use for the value
    Returns:
      true if the value was set; otherwise false
    See Also:
      - `getCurrentAccessibleValue()`

  - ### getMinimumAccessibleValue

    public Number getMinimumAccessibleValue()
    Get the minimum value of this object as a Number.
    Specified by:
      `getMinimumAccessibleValue` in interface `AccessibleValue`
    Overrides:
      `getMinimumAccessibleValue` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      Minimum value of the object; null if this object does not have a minimum value
    See Also:
      - `getMaximumAccessibleValue()`

  - ### getMaximumAccessibleValue

    public Number getMaximumAccessibleValue()
    Get the maximum value of this object as a Number.
    Specified by:
      `getMaximumAccessibleValue` in interface `AccessibleValue`
    Overrides:
      `getMaximumAccessibleValue` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      Maximum value of the object; null if this object does not have a maximum value
    See Also:
      - `getMinimumAccessibleValue()`

  - ### getAccessibleRole

    public AccessibleRole getAccessibleRole()
    Get the role of this object.
    Overrides:
      `getAccessibleRole` in class `MenuItem.AccessibleAWTMenuItem`
    Returns:
      an instance of AccessibleRole describing the role of the object
    See Also:
      - `AccessibleRole`