Module java.desktop

Class JTextComponent.AccessibleJTextComponent

    • Constructor Detail

      • AccessibleJTextComponent

        public AccessibleJTextComponent​()
        Constructs an AccessibleJTextComponent. Adds a listener to track caret change.
    • Method Detail

      • caretUpdate

        public void caretUpdate​(CaretEvent e)
        Handles caret updates (fire appropriate property change event, which are AccessibleContext.ACCESSIBLE_CARET_PROPERTY and AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY). This keeps track of the dot position internally. When the caret moves, the internal position is updated after firing the event.
        Specified by:
        caretUpdate in interface CaretListener
        Parameters:
        e - the CaretEvent
      • insertUpdate

        public void insertUpdate​(DocumentEvent e)
        Handles document insert (fire appropriate property change event which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY). This tracks the changed offset via the event.
        Specified by:
        insertUpdate in interface DocumentListener
        Parameters:
        e - the DocumentEvent
      • removeUpdate

        public void removeUpdate​(DocumentEvent e)
        Handles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY). This tracks the changed offset via the event.
        Specified by:
        removeUpdate in interface DocumentListener
        Parameters:
        e - the DocumentEvent
      • changedUpdate

        public void changedUpdate​(DocumentEvent e)
        Handles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY). This tracks the changed offset via the event.
        Specified by:
        changedUpdate in interface DocumentListener
        Parameters:
        e - the DocumentEvent
      • 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. The screen coordinates returned are "unscrolled coordinates" if the JTextComponent is contained in a JScrollPane in which case the resulting rectangle should be composed with the parent coordinates. A good algorithm to use is:
         Accessible a:
         AccessibleText at = a.getAccessibleText();
         AccessibleComponent ac = a.getAccessibleComponent();
         Rectangle r = at.getCharacterBounds();
         Point p = ac.getLocation();
         r.x += p.x;
         r.y += p.y;
         
        Note: the JTextComponent must have a valid size (e.g. have been added to a parent container whose ancestor container is a valid top-level window) for this method to be able to return a meaningful (non-null) value.
        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. Whitespace between words is treated as a word.
        Specified by:
        getAtIndex in interface AccessibleText
        Parameters:
        part - the CHARACTER, WORD, or SENTENCE to retrieve
        index - an index within the text
        Returns:
        the letter, word, or sentence.
      • getAfterIndex

        public String getAfterIndex​(int part,
                                    int index)
        Returns the String after a given index. Whitespace between words is treated as a word.
        Specified by:
        getAfterIndex in interface AccessibleText
        Parameters:
        part - the CHARACTER, WORD, or SENTENCE to retrieve
        index - an index within the text
        Returns:
        the letter, word, or sentence.
      • getBeforeIndex

        public String getBeforeIndex​(int part,
                                     int index)
        Returns the String before a given index. Whitespace between words is treated a word.
        Specified by:
        getBeforeIndex in interface AccessibleText
        Parameters:
        part - the CHARACTER, WORD, or SENTENCE to retrieve
        index - an index within the text
        Returns:
        the letter, word, or sentence.
      • setTextContents

        public void setTextContents​(String s)
        Sets the text contents to the specified string.
        Specified by:
        setTextContents in interface AccessibleEditableText
        Parameters:
        s - the string to set the text contents
        Since:
        1.4
      • insertTextAtIndex

        public void insertTextAtIndex​(int index,
                                      String s)
        Inserts the specified string at the given index
        Specified by:
        insertTextAtIndex in interface AccessibleEditableText
        Parameters:
        index - the index in the text where the string will be inserted
        s - the string to insert in the text
        Since:
        1.4
      • getTextRange

        public String getTextRange​(int startIndex,
                                   int endIndex)
        Returns the text string between two indices.
        Specified by:
        getTextRange in interface AccessibleEditableText
        Specified by:
        getTextRange in interface AccessibleExtendedText
        Parameters:
        startIndex - the starting index in the text
        endIndex - the ending index in the text
        Returns:
        the text string between the indices
        Since:
        1.4
      • delete

        public void delete​(int startIndex,
                           int endIndex)
        Deletes the text between two indices
        Specified by:
        delete in interface AccessibleEditableText
        Parameters:
        startIndex - the starting index in the text
        endIndex - the ending index in the text
        Since:
        1.4
      • cut

        public void cut​(int startIndex,
                        int endIndex)
        Cuts the text between two indices into the system clipboard.
        Specified by:
        cut in interface AccessibleEditableText
        Parameters:
        startIndex - the starting index in the text
        endIndex - the ending index in the text
        Since:
        1.4
      • paste

        public void paste​(int startIndex)
        Pastes the text from the system clipboard into the text starting at the specified index.
        Specified by:
        paste in interface AccessibleEditableText
        Parameters:
        startIndex - the starting index in the text
        Since:
        1.4
      • replaceText

        public void replaceText​(int startIndex,
                                int endIndex,
                                String s)
        Replaces the text between two indices with the specified string.
        Specified by:
        replaceText in interface AccessibleEditableText
        Parameters:
        startIndex - the starting index in the text
        endIndex - the ending index in the text
        s - the string to replace the text between two indices
        Since:
        1.4
      • selectText

        public void selectText​(int startIndex,
                               int endIndex)
        Selects the text between two indices.
        Specified by:
        selectText in interface AccessibleEditableText
        Parameters:
        startIndex - the starting index in the text
        endIndex - the ending index in the text
        Since:
        1.4
      • setAttributes

        public void setAttributes​(int startIndex,
                                  int endIndex,
                                  AttributeSet as)
        Sets attributes for the text between two indices.
        Specified by:
        setAttributes in interface AccessibleEditableText
        Parameters:
        startIndex - the starting index in the text
        endIndex - the ending index in the text
        as - the attribute set
        Since:
        1.4
        See Also:
        AttributeSet
      • getTextBounds

        public Rectangle getTextBounds​(int startIndex,
                                       int endIndex)
        Returns the Rectangle enclosing the text between two indicies.
        Specified by:
        getTextBounds in interface AccessibleExtendedText
        Parameters:
        startIndex - the start index in the text
        endIndex - the end index in the text
        Returns:
        the bounding rectangle of the text if the indices are valid. Otherwise, null is returned
        Since:
        1.6
      • getAccessibleActionCount

        public int getAccessibleActionCount​()
        Returns the number of accessible actions available in this object If there are more than one, the first one is considered the "default" action of the object.
        Specified by:
        getAccessibleActionCount in interface AccessibleAction
        Returns:
        the zero-based number of Actions in this object
        Since:
        1.4
      • doAccessibleAction

        public boolean doAccessibleAction​(int i)
        Performs the specified Action on the object
        Specified by:
        doAccessibleAction in interface AccessibleAction
        Parameters:
        i - zero-based index of actions
        Returns:
        true if the action was performed; otherwise false.
        Since:
        1.4
        See Also:
        getAccessibleActionCount()