Module java.desktop
Package javax.accessibility

## Interface AccessibleText

- All Known Subinterfaces:
    `AccessibleEditableText`, `AccessibleHypertext`
  All Known Implementing Classes:
    `AbstractButton.AccessibleAbstractButton`, `JButton.AccessibleJButton`, `JCheckBox.AccessibleJCheckBox`, `JCheckBoxMenuItem.AccessibleJCheckBoxMenuItem`, `JEditorPane.AccessibleJEditorPane`, `JEditorPane.AccessibleJEditorPaneHTML`, `JEditorPane.JEditorPaneAccessibleHypertextSupport`, `JLabel.AccessibleJLabel`, `JMenu.AccessibleJMenu`, `JMenuItem.AccessibleJMenuItem`, `JPasswordField.AccessibleJPasswordField`, `JRadioButton.AccessibleJRadioButton`, `JRadioButtonMenuItem.AccessibleJRadioButtonMenuItem`, `JSpinner.AccessibleJSpinner`, `JTextArea.AccessibleJTextArea`, `JTextComponent.AccessibleJTextComponent`, `JTextField.AccessibleJTextField`, `JToggleButton.AccessibleJToggleButton`, `ProgressMonitor.AccessibleProgressMonitor`, `TextArea.AccessibleAWTTextArea`, `TextComponent.AccessibleAWTTextComponent`, `TextField.AccessibleAWTTextField`

      public interface AccessibleText

  The `AccessibleText` interface should be implemented by all classes that present textual information on the display. This interface provides the standard mechanism for an assistive technology to access that text via its content, attributes, and spatial location. Applications can determine if an object supports the `AccessibleText` interface by first obtaining its `AccessibleContext` (see `Accessible`) and then calling the `AccessibleContext.getAccessibleText()` method of `AccessibleContext`. If the return value is not `null`, the object supports this interface.
  See Also:
    `Accessible`, `Accessible.getAccessibleContext()`, `AccessibleContext`, `AccessibleContext.getAccessibleText()`

- - ### Field Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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 indicies).
    `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.

- - ### Field Detail

    - #### CHARACTER

          static final int CHARACTER

      Constant used to indicate that the part of the text that should be retrieved is a character.
      See Also:
        `getAtIndex(int, int)`, `getAfterIndex(int, int)`, `getBeforeIndex(int, int)`, Constant Field Values

    - #### WORD

          static final int WORD

      Constant used to indicate that the part of the text that should be retrieved is a word.
      See Also:
        `getAtIndex(int, int)`, `getAfterIndex(int, int)`, `getBeforeIndex(int, int)`, Constant Field Values

    - #### SENTENCE

          static final int SENTENCE

      Constant used to indicate that the part of the text that should be retrieved is a sentence.

      A sentence is a string of words which expresses an assertion, a question, a command, a wish, an exclamation, or the performance of an action. In English locales, the string usually begins with a capital letter and concludes with appropriate end punctuation; such as a period, question or exclamation mark. Other locales may use different capitalization and/or punctuation.

      See Also:
        `getAtIndex(int, int)`, `getAfterIndex(int, int)`, `getBeforeIndex(int, int)`, Constant Field Values

  - ### Method Detail

    - #### getIndexAtPoint

          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.
      Parameters:
        `p` - the point in local coordinates
      Returns:
        the zero-based index of the character under `Point p`; if point is invalid return -1.

    - #### getCharacterBounds

          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 an empty rectangle is returned.
      Parameters:
        `i` - the index into the string
      Returns:
        the screen coordinates of the character's bounding box, if index is invalid return an empty rectangle.

    - #### getCharCount

          int getCharCount()

      Returns the number of characters (valid indicies).
      Returns:
        the number of characters

    - #### getCaretPosition

          int getCaretPosition()

      Returns the zero-based offset of the caret.

      Note: That to the right of the caret will have the same index value as the offset (the caret is between two characters).

      Returns:
        the zero-based offset of the caret

    - #### getAtIndex

          String getAtIndex​(int part,
                            int index)

      Returns the `String` at a given index.
      Parameters:
        `part` - the CHARACTER, WORD, or SENTENCE to retrieve
        `index` - an index within the text
      Returns:
        the letter, word, or sentence

    - #### getAfterIndex

          String getAfterIndex​(int part,
                               int index)

      Returns the `String` after a given index.
      Parameters:
        `part` - the CHARACTER, WORD, or SENTENCE to retrieve
        `index` - an index within the text
      Returns:
        the letter, word, or sentence

    - #### getBeforeIndex

          String getBeforeIndex​(int part,
                                int index)

      Returns the `String` before a given index.
      Parameters:
        `part` - the CHARACTER, WORD, or SENTENCE to retrieve
        `index` - an index within the text
      Returns:
        the letter, word, or sentence

    - #### getCharacterAttribute

          AttributeSet getCharacterAttribute​(int i)

      Returns the `AttributeSet` for a given character at a given index.
      Parameters:
        `i` - the zero-based index into the text
      Returns:
        the `AttributeSet` of the character

    - #### getSelectionStart

          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.
      Returns:
        the index into the text of the start of the selection

    - #### getSelectionEnd

          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.
      Returns:
        the index into the text of the end of the selection

    - #### getSelectedText

          String getSelectedText()

      Returns the portion of the text that is selected.
      Returns:
        the `String` portion of the text that is selected