# Class TextComponent.AccessibleAWTTextComponent

java.lang.Object
javax.accessibility.AccessibleContext
java.awt.Component.AccessibleAWTComponent
java.awt.TextComponent.AccessibleAWTTextComponent

All Implemented Interfaces:
  `TextListener, Serializable, EventListener, AccessibleComponent, AccessibleText`

Direct Known Subclasses:
  `TextArea.AccessibleAWTTextArea, TextField.AccessibleAWTTextField`

Enclosing class:
  `TextComponent`

protected class TextComponent.AccessibleAWTTextComponent extends Component.AccessibleAWTComponent implements AccessibleText, TextListener
This class implements accessibility support for the `TextComponent` class. It provides an implementation of the Java Accessibility API appropriate to text component user-interface elements.

Since:
  1.3
See Also:
  - Serialized Form

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class Component.AccessibleAWTComponent

  `Component.AccessibleAWTComponent.AccessibleAWTComponentHandler, Component.AccessibleAWTComponent.AccessibleAWTFocusHandler`
  Modifier and Type
  Class
  Description
  `protected class`
  `Component.AccessibleAWTComponent.AccessibleAWTComponentHandler`
  Fire PropertyChange listener, if one is registered, when shown/hidden..
  `protected class`
  `Component.AccessibleAWTComponent.AccessibleAWTFocusHandler`
  Fire PropertyChange listener, if one is registered, when focus events happen

- ## Field Summary

  ### Fields declared in class Component.AccessibleAWTComponent

  `accessibleAWTComponentHandler, accessibleAWTFocusHandler`
  Modifier and Type
  Field
  Description
  `protected ComponentListener`
  `accessibleAWTComponentHandler`
  A component listener to track show/hide/resize events and convert them to PropertyChange events.
  `protected FocusListener`
  `accessibleAWTFocusHandler`
  A listener to track focus events and convert them to PropertyChange events.

  ### 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 AccessibleText

  `CHARACTER, SENTENCE, WORD`
  Modifier and Type
  Field
  Description
  `static final int`
  `CHARACTER`
  Constant used to indicate that the part of the text that should be retrieved is a character.
  `static final int`
  `SENTENCE`
  Constant used to indicate that the part of the text that should be retrieved is a sentence.
  `static final int`
  `WORD`
  Constant used to indicate that the part of the text that should be retrieved is a word.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AccessibleAWTTextComponent()`
  Constructs an AccessibleAWTTextComponent.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `AccessibleRole`
  `getAccessibleRole()`
  Gets the role of this object.
  `AccessibleStateSet`
  `getAccessibleStateSet()`
  Gets the state set of the TextComponent.
  `AccessibleText`
  `getAccessibleText()`
  Get the AccessibleText associated with this object.
  `String`
  `getAfterIndex(int part, int index)`
  Returns the String after a given index.
  `String`
  `getAtIndex(int part, int index)`
  Returns the String at a given index.
  `String`
  `getBeforeIndex(int part, int index)`
  Returns the String before a given index.
  `int`
  `getCaretPosition()`
  Returns the zero-based offset of the caret.
  `AttributeSet`
  `getCharacterAttribute(int i)`
  Returns the AttributeSet for a given character (at a given index).
  `Rectangle`
  `getCharacterBounds(int i)`
  Determines the bounding box of the character at the given index into the string.
  `int`
  `getCharCount()`
  Returns the number of characters (valid indices)
  `int`
  `getIndexAtPoint(Point p)`
  Given a point in local coordinates, return the zero-based index of the character under that Point.
  `String`
  `getSelectedText()`
  Returns the portion of the text that is selected.
  `int`
  `getSelectionEnd()`
  Returns the end offset within the selected text.
  `int`
  `getSelectionStart()`
  Returns the start offset within the selected text.
  `void`
  `textValueChanged(TextEvent textEvent)`
  TextListener notification of a text value change.

  ### Methods declared in class Component.AccessibleAWTComponent

  `addFocusListener, addPropertyChangeListener, contains, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getAccessibleComponent, getAccessibleDescription, getAccessibleIndexInParent, getAccessibleName, getAccessibleParent, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getSize, isEnabled, isFocusTraversable, isShowing, isVisible, removeFocusListener, removePropertyChangeListener, requestFocus, setBackground, setBounds, setCursor, setEnabled, setFont, setForeground, setLocation, setSize, setVisible`
  Modifier and Type
  Method
  Description
  `void`
  `addFocusListener(FocusListener l)`
  Adds the specified focus listener to receive focus events from this component.
  `void`
  `addPropertyChangeListener(PropertyChangeListener listener)`
  Adds a `PropertyChangeListener` to the listener list.
  `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.
  `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`
  `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`
  `removeFocusListener(FocusListener l)`
  Removes the specified focus listener so it no longer receives focus events from this component.
  `void`
  `removePropertyChangeListener(PropertyChangeListener listener)`
  Remove a PropertyChangeListener from the listener list.
  `void`
  `requestFocus()`
  Requests focus for this object.
  `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 so that it has width and height.
  `void`
  `setVisible(boolean b)`
  Sets the visible state of the object.

  ### Methods declared in class AccessibleContext

  `firePropertyChange, getAccessibleAction, getAccessibleEditableText, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleValue, setAccessibleDescription, setAccessibleName, setAccessibleParent`
  Modifier and Type
  Method
  Description
  `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.
  `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.
  `AccessibleValue`
  `getAccessibleValue()`
  Gets the `AccessibleValue` associated with this object that supports a `Numerical` value.
  `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

  - ### AccessibleAWTTextComponent

    public AccessibleAWTTextComponent()
    Constructs an AccessibleAWTTextComponent. Adds a listener to track caret change.

- ## Method Details

  - ### textValueChanged

    public void textValueChanged(TextEvent textEvent)
    TextListener notification of a text value change.
    Specified by:
      `textValueChanged` in interface `TextListener`
    Parameters:
      `textEvent` - the event to be processed

  - ### getAccessibleStateSet

    public AccessibleStateSet getAccessibleStateSet()
    Gets the state set of the TextComponent. The AccessibleStateSet of an object is composed of a set of unique AccessibleStates. A change in the AccessibleStateSet of an object will cause a PropertyChangeEvent to be fired for the AccessibleContext.ACCESSIBLE_STATE_PROPERTY property.
    Overrides:
      `getAccessibleStateSet` in class `Component.AccessibleAWTComponent`
    Returns:
      an instance of AccessibleStateSet containing the current state set of the object
    See Also:
      - `AccessibleStateSet`
      - `AccessibleState`
      - `Component.AccessibleAWTComponent.addPropertyChangeListener(PropertyChangeListener)`

  - ### getAccessibleRole

    public AccessibleRole getAccessibleRole()
    Gets the role of this object.
    Overrides:
      `getAccessibleRole` in class `Component.AccessibleAWTComponent`
    Returns:
      an instance of AccessibleRole describing the role of the object (AccessibleRole.TEXT)
    See Also:
      - `AccessibleRole`

  - ### getAccessibleText

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

  - ### getIndexAtPoint

    public int getIndexAtPoint(Point p)
    Given a point in local coordinates, return the zero-based index of the character under that Point. If the point is invalid, this method returns -1.
    Specified by:
      `getIndexAtPoint` in interface `AccessibleText`
    Parameters:
      `p` - the Point in local coordinates
    Returns:
      the zero-based index of the character under Point p.

  - ### getCharacterBounds

    public Rectangle getCharacterBounds(int i)
    Determines the bounding box of the character at the given index into the string. The bounds are returned in local coordinates. If the index is invalid a null rectangle is returned.
    Specified by:
      `getCharacterBounds` in interface `AccessibleText`
    Parameters:
      `i` - the index into the String >= 0
    Returns:
      the screen coordinates of the character's bounding box

  - ### getCharCount

    public int getCharCount()
    Returns the number of characters (valid indices)
    Specified by:
      `getCharCount` in interface `AccessibleText`
    Returns:
      the number of characters >= 0

  - ### getCaretPosition

    public int getCaretPosition()
    Returns the zero-based offset of the caret. Note: The character to the right of the caret will have the same index value as the offset (the caret is between two characters).
    Specified by:
      `getCaretPosition` in interface `AccessibleText`
    Returns:
      the zero-based offset of the caret.

  - ### getCharacterAttribute

    public AttributeSet getCharacterAttribute(int i)
    Returns the AttributeSet for a given character (at a given index).
    Specified by:
      `getCharacterAttribute` in interface `AccessibleText`
    Parameters:
      `i` - the zero-based index into the text
    Returns:
      the AttributeSet of the character

  - ### getSelectionStart

    public int getSelectionStart()
    Returns the start offset within the selected text. If there is no selection, but there is a caret, the start and end offsets will be the same. Return 0 if the text is empty, or the caret position if no selection.
    Specified by:
      `getSelectionStart` in interface `AccessibleText`
    Returns:
      the index into the text of the start of the selection >= 0

  - ### getSelectionEnd

    public int getSelectionEnd()
    Returns the end offset within the selected text. If there is no selection, but there is a caret, the start and end offsets will be the same. Return 0 if the text is empty, or the caret position if no selection.
    Specified by:
      `getSelectionEnd` in interface `AccessibleText`
    Returns:
      the index into the text of the end of the selection >= 0

  - ### getSelectedText

    public String getSelectedText()
    Returns the portion of the text that is selected.
    Specified by:
      `getSelectedText` in interface `AccessibleText`
    Returns:
      the text, null if no selection

  - ### getAtIndex

    public String getAtIndex(int part, int index)
    Returns the String at a given index.
    Specified by:
      `getAtIndex` in interface `AccessibleText`
    Parameters:
      `part` - the AccessibleText.CHARACTER, AccessibleText.WORD, or AccessibleText.SENTENCE to retrieve
      `index` - an index within the text >= 0
    Returns:
      the letter, word, or sentence, null for an invalid index or part

  - ### getAfterIndex

    public String getAfterIndex(int part, int index)
    Returns the String after a given index.
    Specified by:
      `getAfterIndex` in interface `AccessibleText`
    Parameters:
      `part` - the AccessibleText.CHARACTER, AccessibleText.WORD, or AccessibleText.SENTENCE to retrieve
      `index` - an index within the text >= 0
    Returns:
      the letter, word, or sentence, null for an invalid index or part

  - ### getBeforeIndex

    public String getBeforeIndex(int part, int index)
    Returns the String before a given index.
    Specified by:
      `getBeforeIndex` in interface `AccessibleText`
    Parameters:
      `part` - the AccessibleText.CHARACTER, AccessibleText.WORD, or AccessibleText.SENTENCE to retrieve
      `index` - an index within the text >= 0
    Returns:
      the letter, word, or sentence, null for an invalid index or part