java.lang.Object
javax.accessibility.AccessibleContext
java.awt.Component.AccessibleAWTComponent
java.awt.Container.AccessibleAWTContainer
javax.swing.JComponent.AccessibleJComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent
- All Implemented Interfaces:
Serializable,EventListener,AccessibleAction,AccessibleComponent,AccessibleEditableText,AccessibleExtendedComponent,AccessibleExtendedText,AccessibleText,CaretListener,DocumentListener
- Direct Known Subclasses:
JEditorPane.AccessibleJEditorPane,JTextArea.AccessibleJTextArea,JTextField.AccessibleJTextField
- Enclosing class:
JTextComponent
public class JTextComponent.AccessibleJTextComponent
extends JComponent.AccessibleJComponent
implements AccessibleText, CaretListener, DocumentListener, AccessibleAction, AccessibleEditableText, AccessibleExtendedText
This class implements accessibility support for the
JTextComponent class. It provides an implementation of
the Java Accessibility API appropriate to menu 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.
-
Nested Class Summary
Nested classes/interfaces declared in class javax.swing.JComponent.AccessibleJComponent
JComponent.AccessibleJComponent.AccessibleContainerHandler, JComponent.AccessibleJComponent.AccessibleFocusHandlerNested classes/interfaces declared in class java.awt.Component.AccessibleAWTComponent
Component.AccessibleAWTComponent.AccessibleAWTComponentHandler, Component.AccessibleAWTComponent.AccessibleAWTFocusHandler -
Field Summary
Fields declared in class javax.swing.JComponent.AccessibleJComponent
accessibleFocusHandlerFields declared in class java.awt.Container.AccessibleAWTContainer
accessibleContainerHandlerFields declared in class java.awt.Component.AccessibleAWTComponent
accessibleAWTComponentHandler, accessibleAWTFocusHandlerFields declared in class javax.accessibility.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, accessibleParentFields declared in interface javax.accessibility.AccessibleAction
CLICK, DECREMENT, INCREMENT, TOGGLE_EXPAND, TOGGLE_POPUPFields declared in interface javax.accessibility.AccessibleExtendedText
ATTRIBUTE_RUN, LINEFields declared in interface javax.accessibility.AccessibleText
CHARACTER, SENTENCE, WORD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidHandles caret updates (fire appropriate property change event, which are AccessibleContext.ACCESSIBLE_CARET_PROPERTY and AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY).voidHandles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY).voidcut(int startIndex, int endIndex) Cuts the text between two indices into the system clipboard.voiddelete(int startIndex, int endIndex) Deletes the text between two indicesbooleandoAccessibleAction(int i) Performs the specified Action on the objectintReturns 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.Returns a description of the specified action of the object.Returns the AccessibleEditableText interface for this text component.Gets the role of this object.Gets the state set of the JTextComponent.Get the AccessibleText associated with this object.getAfterIndex(int part, int index) Returns the String after a given index.getAtIndex(int part, int index) Returns the String at a given index.getBeforeIndex(int part, int index) Returns the String before a given index.intReturns the zero-based offset of the caret.getCharacterAttribute(int i) Returns the AttributeSet for a given character (at a given index).getCharacterBounds(int i) Determines the bounding box of the character at the given index into the string.intReturns the number of characters (valid indices)intGiven a point in local coordinates, return the zero-based index of the character under that Point.Returns the portion of the text that is selected.intReturns the end offset within the selected text.intReturns the start offset within the selected text.getTextBounds(int startIndex, int endIndex) Returns theRectangleenclosing the text between two indices.getTextRange(int startIndex, int endIndex) Returns the text string between two indices.getTextSequenceAfter(int part, int index) Returns theAccessibleTextSequenceafter a givenindex.getTextSequenceAt(int part, int index) Returns theAccessibleTextSequenceat a givenindex.getTextSequenceBefore(int part, int index) Returns theAccessibleTextSequencebefore a givenindex.voidinsertTextAtIndex(int index, String s) Inserts the specified string at the given indexvoidHandles document insert (fire appropriate property change event which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY).voidpaste(int startIndex) Pastes the text from the system clipboard into the text starting at the specified index.voidHandles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY).voidreplaceText(int startIndex, int endIndex, String s) Replaces the text between two indices with the specified string.voidselectText(int startIndex, int endIndex) Selects the text between two indices.voidsetAttributes(int startIndex, int endIndex, AttributeSet as) Sets attributes for the text between two indices.voidSets the text contents to the specified string.Methods declared in class javax.swing.JComponent.AccessibleJComponent
addPropertyChangeListener, getAccessibleChild, getAccessibleChildrenCount, getAccessibleDescription, getAccessibleKeyBinding, getAccessibleName, getBorderTitle, getTitledBorderText, getToolTipText, removePropertyChangeListenerMethods declared in class java.awt.Container.AccessibleAWTContainer
getAccessibleAtMethods declared in class java.awt.Component.AccessibleAWTComponent
addFocusListener, contains, getAccessibleComponent, getAccessibleIndexInParent, getAccessibleParent, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getLocale, getLocation, getLocationOnScreen, getSize, isEnabled, isFocusTraversable, isShowing, isVisible, removeFocusListener, requestFocus, setBackground, setBounds, setCursor, setEnabled, setFont, setForeground, setLocation, setSize, setVisibleMethods declared in class javax.accessibility.AccessibleContext
firePropertyChange, getAccessibleAction, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleValue, setAccessibleDescription, setAccessibleName, setAccessibleParentMethods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface javax.accessibility.AccessibleComponent
addFocusListener, contains, getAccessibleAt, getBackground, getBounds, getCursor, getFont, getFontMetrics, getForeground, getLocation, getLocationOnScreen, getSize, isEnabled, isFocusTraversable, isShowing, isVisible, removeFocusListener, requestFocus, setBackground, setBounds, setCursor, setEnabled, setFont, setForeground, setLocation, setSize, setVisible
-
Constructor Details
-
AccessibleJTextComponent
public AccessibleJTextComponent()Constructs an AccessibleJTextComponent. Adds a listener to track caret change.
-
-
Method Details
-
caretUpdate
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:
caretUpdatein interfaceCaretListener- Parameters:
e- the CaretEvent
-
insertUpdate
Handles document insert (fire appropriate property change event which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY). This tracks the changed offset via the event.- Specified by:
insertUpdatein interfaceDocumentListener- Parameters:
e- the DocumentEvent
-
removeUpdate
Handles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY). This tracks the changed offset via the event.- Specified by:
removeUpdatein interfaceDocumentListener- Parameters:
e- the DocumentEvent
-
changedUpdate
Handles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY). This tracks the changed offset via the event.- Specified by:
changedUpdatein interfaceDocumentListener- Parameters:
e- the DocumentEvent
-
getAccessibleStateSet
Gets the state set of the JTextComponent. The AccessibleStateSet of an object is composed of a set of unique AccessibleState's. A change in the AccessibleStateSet of an object will cause a PropertyChangeEvent to be fired for the AccessibleContext.ACCESSIBLE_STATE_PROPERTY property.- Overrides:
getAccessibleStateSetin classJComponent.AccessibleJComponent- Returns:
- an instance of AccessibleStateSet containing the current state set of the object
- See Also:
-
getAccessibleRole
Gets the role of this object.- Overrides:
getAccessibleRolein classJComponent.AccessibleJComponent- Returns:
- an instance of AccessibleRole describing the role of the object (AccessibleRole.TEXT)
- See Also:
-
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:
getAccessibleTextin classAccessibleContext- Returns:
- this object
- See Also:
-
getIndexAtPoint
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:
getIndexAtPointin interfaceAccessibleText- Parameters:
p- the Point in local coordinates- Returns:
- the zero-based index of the character under Point p.
-
getCharacterBounds
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:
getCharacterBoundsin interfaceAccessibleText- 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:
getCharCountin interfaceAccessibleText- 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:
getCaretPositionin interfaceAccessibleText- Returns:
- the zero-based offset of the caret.
-
getCharacterAttribute
Returns the AttributeSet for a given character (at a given index).- Specified by:
getCharacterAttributein interfaceAccessibleText- 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:
getSelectionStartin interfaceAccessibleText- 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:
getSelectionEndin interfaceAccessibleText- Returns:
- the index into the text of the end of the selection ≥ 0
-
getSelectedText
Returns the portion of the text that is selected.- Specified by:
getSelectedTextin interfaceAccessibleText- Returns:
- the text, null if no selection
-
getAtIndex
Returns the String at a given index. Whitespace between words is treated as a word.- Specified by:
getAtIndexin interfaceAccessibleText- Parameters:
part- the CHARACTER, WORD, or SENTENCE to retrieveindex- an index within the text- Returns:
- the letter, word, or sentence.
-
getAfterIndex
Returns the String after a given index. Whitespace between words is treated as a word.- Specified by:
getAfterIndexin interfaceAccessibleText- Parameters:
part- the CHARACTER, WORD, or SENTENCE to retrieveindex- an index within the text- Returns:
- the letter, word, or sentence.
-
getBeforeIndex
Returns the String before a given index. Whitespace between words is treated a word.- Specified by:
getBeforeIndexin interfaceAccessibleText- Parameters:
part- the CHARACTER, WORD, or SENTENCE to retrieveindex- an index within the text- Returns:
- the letter, word, or sentence.
-
getAccessibleEditableText
Returns the AccessibleEditableText interface for this text component.- Overrides:
getAccessibleEditableTextin classAccessibleContext- Returns:
- the AccessibleEditableText interface
- Since:
- 1.4
- See Also:
-
setTextContents
Sets the text contents to the specified string.- Specified by:
setTextContentsin interfaceAccessibleEditableText- Parameters:
s- the string to set the text contents- Since:
- 1.4
-
insertTextAtIndex
Inserts the specified string at the given index- Specified by:
insertTextAtIndexin interfaceAccessibleEditableText- Parameters:
index- the index in the text where the string will be inserteds- the string to insert in the text- Since:
- 1.4
-
getTextRange
Returns the text string between two indices.- Specified by:
getTextRangein interfaceAccessibleEditableText- Specified by:
getTextRangein interfaceAccessibleExtendedText- Parameters:
startIndex- the starting index in the textendIndex- 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:
deletein interfaceAccessibleEditableText- Parameters:
startIndex- the starting index in the textendIndex- 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:
cutin interfaceAccessibleEditableText- Parameters:
startIndex- the starting index in the textendIndex- 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:
pastein interfaceAccessibleEditableText- Parameters:
startIndex- the starting index in the text- Since:
- 1.4
-
replaceText
Replaces the text between two indices with the specified string.- Specified by:
replaceTextin interfaceAccessibleEditableText- Parameters:
startIndex- the starting index in the textendIndex- the ending index in the texts- 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:
selectTextin interfaceAccessibleEditableText- Parameters:
startIndex- the starting index in the textendIndex- the ending index in the text- Since:
- 1.4
-
setAttributes
Sets attributes for the text between two indices.- Specified by:
setAttributesin interfaceAccessibleEditableText- Parameters:
startIndex- the starting index in the textendIndex- the ending index in the textas- the attribute set- Since:
- 1.4
- See Also:
-
getTextSequenceAt
Returns theAccessibleTextSequenceat a givenindex.- Specified by:
getTextSequenceAtin interfaceAccessibleExtendedText- Parameters:
part- theCHARACTER,WORD,SENTENCE,LINEorATTRIBUTE_RUNto retrieveindex- an index within the text- Returns:
- an
AccessibleTextSequencespecifying the text ifpartandindexare valid. Otherwise,nullis returned - Since:
- 1.6
- See Also:
-
getTextSequenceAfter
Returns theAccessibleTextSequenceafter a givenindex.- Specified by:
getTextSequenceAfterin interfaceAccessibleExtendedText- Parameters:
part- theCHARACTER,WORD,SENTENCE,LINEorATTRIBUTE_RUNto retrieveindex- an index within the text- Returns:
- an
AccessibleTextSequencespecifying the text ifpartandindexare valid. Otherwise,nullis returned - Since:
- 1.6
- See Also:
-
getTextSequenceBefore
Returns theAccessibleTextSequencebefore a givenindex.- Specified by:
getTextSequenceBeforein interfaceAccessibleExtendedText- Parameters:
part- theCHARACTER,WORD,SENTENCE,LINEorATTRIBUTE_RUNto retrieveindex- an index within the text- Returns:
- an
AccessibleTextSequencespecifying the text ifpartandindexare valid. Otherwise,nullis returned - Since:
- 1.6
- See Also:
-
getTextBounds
Returns theRectangleenclosing the text between two indices.- Specified by:
getTextBoundsin interfaceAccessibleExtendedText- Parameters:
startIndex- the start index in the textendIndex- the end index in the text- Returns:
- the bounding rectangle of the text if the indices are valid.
Otherwise,
nullis 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:
getAccessibleActionCountin interfaceAccessibleAction- Returns:
- the zero-based number of Actions in this object
- Since:
- 1.4
-
getAccessibleActionDescription
Returns a description of the specified action of the object.- Specified by:
getAccessibleActionDescriptionin interfaceAccessibleAction- Parameters:
i- zero-based index of the actions- Returns:
- a String description of the action
- Since:
- 1.4
- See Also:
-
doAccessibleAction
public boolean doAccessibleAction(int i) Performs the specified Action on the object- Specified by:
doAccessibleActionin interfaceAccessibleAction- Parameters:
i- zero-based index of actions- Returns:
- true if the action was performed; otherwise false.
- Since:
- 1.4
- See Also:
-