javax.swing.text
Class JTextComponent.AccessibleJTextComponentjava.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:
- AccessibleAction, AccessibleComponent, AccessibleEditableText, AccessibleExtendedComponent, AccessibleText, CaretListener, DocumentListener, EventListener, Serializable
- 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
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 JavaBeansTM has been added to the java.beans package. Please see XMLEncoder.
Nested Class Summary
Nested classes inherited from class javax.swing.JComponent.AccessibleJComponent JComponent.AccessibleJComponent.AccessibleContainerHandler, JComponent.AccessibleJComponent.AccessibleFocusHandler
Nested classes inherited from class java.awt.Container.AccessibleAWTContainer Container.AccessibleAWTContainer.AccessibleContainerHandler
Nested classes inherited from class java.awt.Component.AccessibleAWTComponent Component.AccessibleAWTComponent.AccessibleAWTComponentHandler, Component.AccessibleAWTComponent.AccessibleAWTFocusHandler
Field Summary
Fields inherited from class javax.swing.JComponent.AccessibleJComponent accessibleContainerHandler, accessibleFocusHandler
Fields inherited from class java.awt.Component.AccessibleAWTComponent accessibleAWTComponentHandler, accessibleAWTFocusHandler
Fields inherited from interface javax.accessibility.AccessibleText CHARACTER, SENTENCE, WORD
Constructor Summary
JTextComponent.AccessibleJTextComponent()
Constructs an AccessibleJTextComponent.
Method Summary
void caretUpdate(CaretEvent e)
Handles caret updates (fire appropriate property change event, which are AccessibleContext.ACCESSIBLE_CARET_PROPERTY and AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY).void changedUpdate(DocumentEvent e)
Handles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY).void cut(int startIndex, int endIndex)
Cuts the text between two indices into the system clipboard.void delete(int startIndex, int endIndex)
Deletes the text between two indicesboolean doAccessibleAction(int i)
Performs the specified Action on the objectAccessibleAction getAccessibleAction()
Gets the AccessibleAction associated with this object that supports one or more actions.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.String getAccessibleActionDescription(int i)
Returns a description of the specified action of the object.AccessibleEditableText getAccessibleEditableText()
Returns the AccessibleEditableText interface for this text component.AccessibleRole getAccessibleRole()
Gets the role of this object.AccessibleStateSet getAccessibleStateSet()
Gets the state set of the JTextComponent.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.String getTextRange(int startIndex, int endIndex)
Returns the text string between two indices.void insertTextAtIndex(int index, String s)
Inserts the specified string at the given indexvoid insertUpdate(DocumentEvent e)
Handles document insert (fire appropriate property change event which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY).void paste(int startIndex)
Pastes the text from the system clipboard into the text starting at the specified index.void removeUpdate(DocumentEvent e)
Handles document remove (fire appropriate property change event, which is AccessibleContext.ACCESSIBLE_TEXT_PROPERTY).void replaceText(int startIndex, int endIndex, String s)
Replaces the text between two indices with the specified string.void selectText(int startIndex, int endIndex)
Selects the text between two indices.void setAttributes(int startIndex, int endIndex, AttributeSet as)
Sets attributes for the text between two indices.void setTextContents(String s)
Sets the text contents to the specified string.
Methods inherited from class javax.swing.JComponent.AccessibleJComponent addPropertyChangeListener, getAccessibleChild, getAccessibleChildrenCount, getAccessibleDescription, getAccessibleKeyBinding, getAccessibleName, getBorderTitle, getTitledBorderText, getToolTipText, removePropertyChangeListener
Methods inherited from class java.awt.Container.AccessibleAWTContainer getAccessibleAt
Methods inherited from class javax.accessibility.AccessibleContext firePropertyChange, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleValue, setAccessibleDescription, setAccessibleName, setAccessibleParent
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from 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 Detail
JTextComponent.AccessibleJTextComponent
public JTextComponent.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
getAccessibleStateSet
public AccessibleStateSet 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:
- getAccessibleStateSet in class JComponent.AccessibleJComponent
- Returns:
- an instance of AccessibleStateSet containing the current state set of the object
- See Also:
- AccessibleStateSet, AccessibleState, JComponent.AccessibleJComponent.addPropertyChangeListener(java.beans.PropertyChangeListener)
getAccessibleRole
public AccessibleRole getAccessibleRole()
- Gets the role of this object.
- Overrides:
- getAccessibleRole in class JComponent.AccessibleJComponent
- 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. 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 teh 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)
- Description copied from interface: AccessibleText
- Returns the String at a given index.
- 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)
- Description copied from interface: AccessibleText
- Returns the String after a given index.
- 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)
- Description copied from interface: AccessibleText
- Returns the String before a given index.
- 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
getAccessibleEditableText
public AccessibleEditableText getAccessibleEditableText()
- Returns the AccessibleEditableText interface for this text component.
- Overrides:
- getAccessibleEditableText in class AccessibleContext
- Returns:
- the AccessibleEditableText interface
- See Also:
- AccessibleEditableText
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
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
getTextRange
public String getTextRange(int startIndex, int endIndex)
- Returns the text string between two indices.
- Specified by:
- getTextRange in interface AccessibleEditableText
- Parameters:
- startIndex - the starting index in the text
- endIndex - the ending index in the text
- Returns:
- the text string between the indices
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
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
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
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
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
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
- See Also:
- AttributeSet
getAccessibleAction
public AccessibleAction getAccessibleAction()
- Description copied from class: AccessibleContext
- Gets the AccessibleAction associated with this object that supports one or more actions.
- Overrides:
- getAccessibleAction in class AccessibleContext
- Returns:
- AccessibleAction if supported by object; else return null
- See Also:
- AccessibleAction
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
getAccessibleActionDescription
public String getAccessibleActionDescription(int i)
- Returns a description of the specified action of the object.
- Specified by:
- getAccessibleActionDescription in interface AccessibleAction
- Parameters:
- i - zero-based index of the actions
- Returns:
- a String description of the action
- See Also:
- getAccessibleActionCount()
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.
- See Also:
- getAccessibleActionCount()