# Class ImageIcon.AccessibleImageIcon

java.lang.Object
javax.accessibility.AccessibleContext
javax.swing.ImageIcon.AccessibleImageIcon

All Implemented Interfaces:
  `Serializable, AccessibleIcon`

Enclosing class:
  `ImageIcon`

protected class ImageIcon.AccessibleImageIcon extends AccessibleContext implements AccessibleIcon, Serializable
This class implements accessibility support for the `ImageIcon` class. It provides an implementation of the Java Accessibility API appropriate to image icon user-interface elements.

Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans has been added to the `java.beans` package. Please see `XMLEncoder`.

Since:
  1.3

- ## 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`
  `AccessibleImageIcon()`
  Constructs an `AccessibleImageIcon`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Accessible`
  `getAccessibleChild(int i)`
  Returns the nth Accessible child of the object.
  `int`
  `getAccessibleChildrenCount()`
  Returns the number of accessible children in the object.
  `String`
  `getAccessibleIconDescription()`
  Gets the description of the icon.
  `int`
  `getAccessibleIconHeight()`
  Gets the height of the icon.
  `int`
  `getAccessibleIconWidth()`
  Gets the width of the icon.
  `int`
  `getAccessibleIndexInParent()`
  Gets the index of this object in its accessible parent.
  `Accessible`
  `getAccessibleParent()`
  Gets the Accessible parent of this object.
  `AccessibleRole`
  `getAccessibleRole()`
  Gets the role of this object.
  `AccessibleStateSet`
  `getAccessibleStateSet()`
  Gets the state of this object.
  `Locale`
  `getLocale()`
  Returns the locale of this object.
  `void`
  `setAccessibleIconDescription(String description)`
  Sets the description of the icon.

  ### Methods declared in class AccessibleContext

  `addPropertyChangeListener, firePropertyChange, getAccessibleAction, getAccessibleComponent, getAccessibleDescription, getAccessibleEditableText, getAccessibleIcon, getAccessibleName, getAccessibleRelationSet, getAccessibleSelection, 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.
  `AccessibleComponent`
  `getAccessibleComponent()`
  Gets the `AccessibleComponent` associated with this object that has a graphical representation.
  `String`
  `getAccessibleDescription()`
  Gets the `accessibleDescription` property of this object.
  `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.
  `String`
  `getAccessibleName()`
  Gets the `accessibleName` property of this object.
  `AccessibleRelationSet`
  `getAccessibleRelationSet()`
  Gets the `AccessibleRelationSet` associated with an object.
  `AccessibleSelection`
  `getAccessibleSelection()`
  Gets the `AccessibleSelection` associated with this object which allows its `Accessible` children to be selected.
  `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

  - ### AccessibleImageIcon

    protected AccessibleImageIcon()
    Constructs an `AccessibleImageIcon`.

- ## Method Details

  - ### 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, than 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() throws IllegalComponentStateException
    Returns the locale of this object.
    Specified by:
      `getLocale` in class `AccessibleContext`
    Returns:
      the locale of this object
    Throws:
      `IllegalComponentStateException` - If the component does not have its own locale and has not yet been added to a containment hierarchy such that the locale can be determined from the containing parent

  - ### getAccessibleIconDescription

    public String getAccessibleIconDescription()
    Gets the description of the icon. This is meant to be a brief textual description of the object. For example, it might be presented to a blind user to give an indication of the purpose of the icon.
    Specified by:
      `getAccessibleIconDescription` in interface `AccessibleIcon`
    Returns:
      the description of the icon

  - ### setAccessibleIconDescription

    public void setAccessibleIconDescription(String description)
    Sets the description of the icon. This is meant to be a brief textual description of the object. For example, it might be presented to a blind user to give an indication of the purpose of the icon.
    Specified by:
      `setAccessibleIconDescription` in interface `AccessibleIcon`
    Parameters:
      `description` - the description of the icon

  - ### getAccessibleIconHeight

    public int getAccessibleIconHeight()
    Gets the height of the icon.
    Specified by:
      `getAccessibleIconHeight` in interface `AccessibleIcon`
    Returns:
      the height of the icon

  - ### getAccessibleIconWidth

    public int getAccessibleIconWidth()
    Gets the width of the icon.
    Specified by:
      `getAccessibleIconWidth` in interface `AccessibleIcon`
    Returns:
      the width of the icon