# Class MenuComponent.AccessibleAWTMenuComponent

java.lang.Object
javax.accessibility.AccessibleContext
java.awt.MenuComponent.AccessibleAWTMenuComponent

All Implemented Interfaces:
  `Serializable, AccessibleComponent, AccessibleSelection`

Direct Known Subclasses:
  `MenuBar.AccessibleAWTMenuBar, MenuItem.AccessibleAWTMenuItem`

Enclosing class:
  `MenuComponent`

protected abstract class MenuComponent.AccessibleAWTMenuComponent extends AccessibleContext implements Serializable, AccessibleComponent, AccessibleSelection
Inner class of `MenuComponent` 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.

The class used to obtain the accessible role for this object.

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.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AccessibleAWTMenuComponent()`
Although the class is abstract, this should be called by all sub-classes.

## Method Summary

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.
`String`
`getAccessibleName()`
Gets the accessible name of this object.
`Accessible`
`getAccessibleParent()`
Gets the `Accessible` parent of this object.
`AccessibleRole`
`getAccessibleRole()`
Gets the role 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, getAccessibleAction, getAccessibleEditableText, getAccessibleIcon, getAccessibleRelationSet, getAccessibleTable, getAccessibleText, getAccessibleValue, 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.
`AccessibleAction`
`getAccessibleAction()`
Gets the `AccessibleAction` associated with this object that supports one or more actions.
`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.
`AccessibleValue`
`getAccessibleValue()`
Gets the `AccessibleValue` associated with this object that supports a `Numerical` value.
`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

### AccessibleAWTMenuComponent

protected AccessibleAWTMenuComponent()
Although the class is abstract, this should be called by all sub-classes.

## Method Details

### getAccessibleSelection

public AccessibleSelection getAccessibleSelection()
Gets the `AccessibleSelection` associated with this object which allows its `Accessible` children to be selected.

Overrides:
  `getAccessibleSelection` in class `AccessibleContext`
Returns:
  `AccessibleSelection` if supported by object; else return `null`
See Also:
  - `AccessibleSelection`

### getAccessibleName

public String getAccessibleName()
Gets the accessible name of this object. This should almost never return `java.awt.MenuComponent.getName`, as that generally isn't a localized name, and doesn't have meaning for the user. If the object is fundamentally a text object (e.g. a menu item), the accessible name should be the text of the object (e.g. "save"). If the object has a tooltip, the tooltip text may also be an appropriate String to return.

Overrides:
  `getAccessibleName` in class `AccessibleContext`
Returns:
  the localized name of the object -- can be `null` if this object does not have a name
See Also:
  - `AccessibleContext.setAccessibleName(String)`

### getAccessibleDescription

public String getAccessibleDescription()
Gets the accessible description of this object. This should be a concise, localized description of what this object is - what is its meaning to the user. If the object has a tooltip, the tooltip text may be an appropriate string to return, assuming it contains a concise description of the object (instead of just the name of the object - e.g. a "Save" icon on a toolbar that had "save" as the tooltip text shouldn't return the tooltip text as the description, but something like "Saves the current text document" instead).

Overrides:
  `getAccessibleDescription` in class `AccessibleContext`
Returns:
  the localized description of the object -- can be `null` if this object does not have a description
See Also:
  - `AccessibleContext.setAccessibleDescription(String)`

### getAccessibleRole

public AccessibleRole getAccessibleRole()
Gets the role of this object.

Specified by:
  `getAccessibleRole` in class `AccessibleContext`
Returns:
  an instance of `AccessibleRole` describing the role of the object
See Also:
  - `AccessibleRole`

### getAccessibleStateSet

public AccessibleStateSet getAccessibleStateSet()
Gets the state of this object.

Specified by:
  `getAccessibleStateSet` in class `AccessibleContext`
Returns:
  an instance of `AccessibleStateSet` containing the current state set of the object
See Also:
  - `AccessibleState`

### getAccessibleParent

public Accessible getAccessibleParent()
Gets the `Accessible` parent of this object. If the parent of this object implements `Accessible`, this method should simply return `getParent`.

Overrides:
  `getAccessibleParent` in class `AccessibleContext`
Returns:
  the `Accessible` parent of this object -- can be `null` if this object does not have an `Accessible` parent

### getAccessibleIndexInParent

public int getAccessibleIndexInParent()
Gets the index of this object in its accessible parent.

Specified by:
  `getAccessibleIndexInParent` in class `AccessibleContext`
Returns:
  the index of this object in its parent; -1 if this object does not have an accessible parent
See Also:
  - `getAccessibleParent()`

### getAccessibleChildrenCount

public int getAccessibleChildrenCount()
Returns the number of accessible children in the object. If all of the children of this object implement `Accessible`, then this method should return the number of children of this object.

Specified by:
  `getAccessibleChildrenCount` in class `AccessibleContext`
Returns:
  the number of accessible children in the object

### getAccessibleChild

public Accessible getAccessibleChild(int i)
Returns the nth `Accessible` child of the object.

Specified by:
  `getAccessibleChild` in class `AccessibleContext`
Parameters:
  `i` - zero-based index of child
Returns:
  the nth Accessible child of the object
See Also:
  - `AccessibleContext.getAccessibleChildrenCount()`

### getLocale

public Locale getLocale()
Returns the locale of this object.

Specified by:
  `getLocale` in class `AccessibleContext`
Returns:
  the locale of this object

### getAccessibleComponent

public AccessibleComponent getAccessibleComponent()
Gets the `AccessibleComponent` associated with this object if one exists. Otherwise return `null`.

Overrides:
  `getAccessibleComponent` in class `AccessibleContext`
Returns:
  the component
See Also:
  - `AccessibleComponent`

### getBackground

public Color getBackground()
Gets the background color of this object.

Specified by:
  `getBackground` in interface `AccessibleComponent`
Returns:
  the background color, if supported, of the object; otherwise, `null`
See Also:
  - `AccessibleComponent.setBackground(Color)`

### setBackground

public void setBackground(Color c)
Sets the background color of this object. (For transparency, see `isOpaque`.)

Specified by:
  `setBackground` in interface `AccessibleComponent`
Parameters:
  `c` - the new `Color` for the background
See Also:
  - `Component.isOpaque()`

### getForeground

public Color getForeground()
Gets the foreground color of this object.

Specified by:
  `getForeground` in interface `AccessibleComponent`
Returns:
  the foreground color, if supported, of the object; otherwise, `null`
See Also:
  - `AccessibleComponent.setForeground(Color)`

### setForeground

public void setForeground(Color c)
Sets the foreground color of this object.

Specified by:
  `setForeground` in interface `AccessibleComponent`
Parameters:
  `c` - the new `Color` for the foreground
See Also:
  - `AccessibleComponent.getForeground()`

### getCursor

public Cursor getCursor()
Gets the `Cursor` of this object.

Specified by:
  `getCursor` in interface `AccessibleComponent`
Returns:
  the `Cursor`, if supported, of the object; otherwise, `null`
See Also:
  - `AccessibleComponent.setCursor(Cursor)`

### setCursor

public void setCursor(Cursor cursor)
Sets the `Cursor` of this object.

The method may have no visual effect if the Java platform implementation and/or the native system do not support changing the mouse cursor shape.

Specified by:
  `setCursor` in interface `AccessibleComponent`
Parameters:
  `cursor` - the new `Cursor` for the object
See Also:
  - `AccessibleComponent.getCursor()`

### getFont

public Font getFont()
Gets the `Font` of this object.

Specified by:
  `getFont` in interface `AccessibleComponent`
Returns:
  the `Font`, if supported, for the object; otherwise, `null`
See Also:
  - `AccessibleComponent.setFont(Font)`

### setFont

public void setFont(Font f)
Sets the `Font` of this object.

Specified by:
  `setFont` in interface `AccessibleComponent`
Parameters:
  `f` - the new `Font` for the object
See Also:
  - `AccessibleComponent.getFont()`

### getFontMetrics

public FontMetrics getFontMetrics(Font f)
Gets the `FontMetrics` of this object.

Specified by:
  `getFontMetrics` in interface `AccessibleComponent`
Parameters:
  `f` - the `Font`
Returns:
  the FontMetrics, if supported, the object; otherwise, `null`
See Also:
  - `getFont()`

### isEnabled

public boolean isEnabled()
Determines if the object is enabled.

Specified by:
  `isEnabled` in interface `AccessibleComponent`
Returns:
  true if object is enabled; otherwise, false
See Also:
  - `AccessibleComponent.setEnabled(boolean)`
  - `AccessibleContext.getAccessibleStateSet()`
  - `AccessibleState.ENABLED`
  - `AccessibleStateSet`

### setEnabled

public void setEnabled(boolean b)
Sets the enabled state of the object.

Specified by:
  `setEnabled` in interface `AccessibleComponent`
Parameters:
  `b` - if true, enables this object; otherwise, disables it
See Also:
  - `AccessibleComponent.isEnabled()`

### isVisible

public boolean isVisible()
Determines if the object is visible. Note: this means that the object intends to be visible; however, it may not in fact be showing on the screen because one of the objects that this object is contained by is not visible. To determine if an object is showing on the screen, use `isShowing`.

Specified by:
  `isVisible` in interface `AccessibleComponent`
Returns:
  true if object is visible; otherwise, false
See Also:
  - `AccessibleComponent.setVisible(boolean)`
  - `AccessibleContext.getAccessibleStateSet()`
  - `AccessibleState.VISIBLE`
  - `AccessibleStateSet`

### setVisible

public void setVisible(boolean b)
Sets the visible state of the object.

Specified by:
  `setVisible` in interface `AccessibleComponent`
Parameters:
  `b` - if true, shows this object; otherwise, hides it
See Also:
  - `AccessibleComponent.isVisible()`

### isShowing

public boolean isShowing()
Determines if the object is showing. This is determined by checking the visibility of the object and ancestors of the object. Note: this will return true even if the object is obscured by another (for example, it happens to be underneath a menu that was pulled down).

Specified by:
  `isShowing` in interface `AccessibleComponent`
Returns:
  true if object is showing; otherwise, false

### contains

public 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.

Specified by:
  `contains` in interface `AccessibleComponent`
Parameters:
  `p` - the `Point` relative to the coordinate system of the object
Returns:
  true if object contains `Point`; otherwise false
See Also:
  - `AccessibleComponent.getBounds()`

### getLocationOnScreen

public Point getLocationOnScreen()
Returns the location of the object on the screen.

Specified by:
  `getLocationOnScreen` in interface `AccessibleComponent`
Returns:
  location of object on screen -- can be `null` if this object is not on the screen
See Also:
  - `AccessibleComponent.getBounds()`
  - `AccessibleComponent.getLocation()`

### getLocation

public 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.

Specified by:
  `getLocation` in interface `AccessibleComponent`
Returns:
  an instance of `Point` representing the top-left corner of the object's bounds in the coordinate space of the screen; `null` if this object or its parent are not on the screen
See Also:
  - `AccessibleComponent.getBounds()`
  - `AccessibleComponent.getLocationOnScreen()`

### setLocation

public void setLocation(Point p)
Sets the location of the object relative to the parent.

Specified by:
  `setLocation` in interface `AccessibleComponent`
Parameters:
  `p` - the new position for the top-left corner
See Also:
  - `AccessibleComponent.getLocation()`

### getBounds

public Rectangle getBounds()
Gets the bounds of this object in the form of a `Rectangle` object. The bounds specify this object's width, height, and location relative to its parent.

Specified by:
  `getBounds` in interface `AccessibleComponent`
Returns:
  a rectangle indicating this component's bounds; `null` if this object is not on the screen
See Also:
  - `AccessibleComponent.contains(Point)`

### setBounds

public void setBounds(Rectangle r)
Sets the bounds of this object in the form of a `Rectangle` object. The bounds specify this object's width, height, and location relative to its parent.

Specified by:
  `setBounds` in interface `AccessibleComponent`
Parameters:
  `r` - a rectangle indicating this component's bounds
See Also:
  - `AccessibleComponent.getBounds()`

### getSize

public Dimension getSize()
Returns the size of this object in the form of a `Dimension` object. The height field of the `Dimension` object contains this object's height, and the width field of the `Dimension` object contains this object's width.

Specified by:
  `getSize` in interface `AccessibleComponent`
Returns:
  a `Dimension` object that indicates the size of this component; `null` if this object is not on the screen
See Also:
  - `AccessibleComponent.setSize(Dimension)`

### setSize

public void setSize(Dimension d)
Resizes this object.

Specified by:
  `setSize` in interface `AccessibleComponent`
Parameters:
  `d` - the `Dimension` specifying the new size of the object
See Also:
  - `AccessibleComponent.getSize()`

### getAccessibleAt

public Accessible getAccessibleAt(Point p)
Returns the `Accessible` child, if one exists, contained at the local coordinate `Point`. If there is no `Accessible` child, `null` is returned.

Specified by:
  `getAccessibleAt` in interface `AccessibleComponent`
Parameters:
  `p` - the point defining the top-left corner of the `Accessible`, given in the coordinate space of the object's parent
Returns:
  the `Accessible`, if it exists, at the specified location; else `null`

### isFocusTraversable

public boolean isFocusTraversable()
Returns whether this object can accept focus or not.

Specified by:
  `isFocusTraversable` in interface `AccessibleComponent`
Returns:
  true if object can accept focus; otherwise false
See Also:
  - `AccessibleContext.getAccessibleStateSet()`
  - `AccessibleState.FOCUSABLE`
  - `AccessibleState.FOCUSED`
  - `AccessibleStateSet`

### requestFocus

public void requestFocus()
Requests focus for this object.

Specified by:
  `requestFocus` in interface `AccessibleComponent`
See Also:
  - `AccessibleComponent.isFocusTraversable()`

### addFocusListener

public void addFocusListener(FocusListener l)
Adds the specified focus listener to receive focus events from this component.

Specified by:
  `addFocusListener` in interface `AccessibleComponent`
Parameters:
  `l` - the focus listener
See Also:
  - `AccessibleComponent.removeFocusListener(FocusListener)`

### removeFocusListener

public void removeFocusListener(FocusListener l)
Removes the specified focus listener so it no longer receives focus events from this component.

Specified by:
  `removeFocusListener` in interface `AccessibleComponent`
Parameters:
  `l` - the focus listener
See Also:
  - `AccessibleComponent.addFocusListener(FocusListener)`

### getAccessibleSelectionCount

public int getAccessibleSelectionCount()
Returns the number of `Accessible` children currently selected. If no children are selected, the return value will be 0.

Specified by:
  `getAccessibleSelectionCount` in interface `AccessibleSelection`
Returns:
  the number of items currently selected

### getAccessibleSelection

public Accessible getAccessibleSelection(int i)
Returns an `Accessible` representing the specified selected child in the object. If there isn't a selection, or there are fewer children selected than the integer passed in, the return value will be `null`.

Note that the index represents the i-th selected child, which is different from the i-th child.

Specified by:
  `getAccessibleSelection` in interface `AccessibleSelection`
Parameters:
  `i` - the zero-based index of selected children
Returns:
  the i-th selected child
See Also:
  - `getAccessibleSelectionCount()`

### isAccessibleChildSelected

public boolean isAccessibleChildSelected(int i)
Determines if the current child of this object is selected.

Specified by:
  `isAccessibleChildSelected` in interface `AccessibleSelection`
Parameters:
  `i` - the zero-based index of the child in this `Accessible` object
Returns:
  true if the current child of this object is selected; else false
See Also:
  - `AccessibleContext.getAccessibleChild(int)`

### addAccessibleSelection

public void addAccessibleSelection(int i)
Adds the specified `Accessible` child of the object to the object's selection. If the object supports multiple selections, the specified child is added to any existing selection, otherwise it replaces any existing selection in the object. If the specified child is already selected, this method has no effect.

Specified by:
  `addAccessibleSelection` in interface `AccessibleSelection`
Parameters:
  `i` - the zero-based index of the child
See Also:
  - `AccessibleContext.getAccessibleChild(int)`

### removeAccessibleSelection

public void removeAccessibleSelection(int i)
Removes the specified child of the object from the object's selection. If the specified item isn't currently selected, this method has no effect.

Specified by:
  `removeAccessibleSelection` in interface `AccessibleSelection`
Parameters:
  `i` - the zero-based index of the child
See Also:
  - `AccessibleContext.getAccessibleChild(int)`

### clearAccessibleSelection

public void clearAccessibleSelection()
Clears the selection in the object, so that no children in the object are selected.

Specified by:
  `clearAccessibleSelection` in interface `AccessibleSelection`

### selectAllAccessibleSelection

public void selectAllAccessibleSelection()
Causes every child of the object to be selected if the object supports multiple selections.

Specified by:
  `selectAllAccessibleSelection` in interface `AccessibleSelection`