# Class JSpinner.AccessibleJSpinner

java.lang.Object
javax.accessibility.AccessibleContext
java.awt.Component.AccessibleAWTComponent
java.awt.Container.AccessibleAWTContainer
javax.swing.JComponent.AccessibleJComponent
javax.swing.JSpinner.AccessibleJSpinner

All Implemented Interfaces:
  `Serializable, EventListener, AccessibleAction, AccessibleComponent, AccessibleEditableText, AccessibleExtendedComponent, AccessibleText, AccessibleValue, ChangeListener`

Enclosing class:
  `JSpinner`

protected class JSpinner.AccessibleJSpinner extends JComponent.AccessibleJComponent implements AccessibleValue, AccessibleAction, AccessibleText, AccessibleEditableText, ChangeListener
`AccessibleJSpinner` implements accessibility support for the `JSpinner` class.

Since:
  1.5

## Nested Class Summary

### Nested classes/interfaces declared in class JComponent.AccessibleJComponent

`JComponent.AccessibleJComponent.AccessibleContainerHandler, JComponent.AccessibleJComponent.AccessibleFocusHandler`
Modifier and Type
Class
Description
`protected class`
`JComponent.AccessibleJComponent.AccessibleContainerHandler`
Fire PropertyChange listener, if one is registered, when children added/removed.
`protected class`
`JComponent.AccessibleJComponent.AccessibleFocusHandler`
Deprecated.
This class is no longer used or needed.

### 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 JComponent.AccessibleJComponent

`accessibleFocusHandler`
Modifier and Type
Field
Description
`protected FocusListener`
`accessibleFocusHandler`
Deprecated.

### Fields declared in class Container.AccessibleAWTContainer

`accessibleContainerHandler`
Modifier and Type
Field
Description
`protected ContainerListener`
`accessibleContainerHandler`
The handler to fire `PropertyChange` when children are added or removed

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

`CLICK, DECREMENT, INCREMENT, TOGGLE_EXPAND, TOGGLE_POPUP`
Modifier and Type
Field
Description
`static final String`
`CLICK`
An action which causes a component to execute its default action.
`static final String`
`DECREMENT`
An action which decrements a value.
`static final String`
`INCREMENT`
An action which increments a value.
`static final String`
`TOGGLE_EXPAND`
An action which causes a tree node to collapse if expanded and expand if collapsed.
`static final String`
`TOGGLE_POPUP`
An action which causes a popup to become visible if it is hidden and hidden if it is visible.

### 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
Modifier
Constructor
Description
`protected`
`AccessibleJSpinner()`
AccessibleJSpinner constructor

## Method Summary

Modifier and Type
Method
Description
`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 indices
`boolean`
`doAccessibleAction(int i)`
Performs the specified Action on the object
`AccessibleAction`
`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.
`Accessible`
`getAccessibleChild(int i)`
Returns the specified Accessible child of the object.
`int`
`getAccessibleChildrenCount()`
Returns the number of accessible children of the object.
`AccessibleRole`
`getAccessibleRole()`
Gets the role of this object.
`AccessibleText`
`getAccessibleText()`
Gets the AccessibleText associated with this object presenting text on the display.
`AccessibleValue`
`getAccessibleValue()`
Gets the AccessibleValue 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)
`Number`
`getCurrentAccessibleValue()`
Get the value of this object as a Number.
`int`
`getIndexAtPoint(Point p)`
Given a point in local coordinates, return the zero-based index of the character under that Point.
`Number`
`getMaximumAccessibleValue()`
Get the maximum value of this object as a Number.
`Number`
`getMinimumAccessibleValue()`
Get the minimum value of this object as a Number.
`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 index/
`void`
`paste(int startIndex)`
Pastes the text from the system clipboard into the text starting at the specified index.
`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.
`boolean`
`setCurrentAccessibleValue(Number n)`
Set the value of this object as a Number.
`void`
`setTextContents(String s)`
Sets the text contents to the specified string.
`void`
`stateChanged(ChangeEvent e)`
Invoked when the target of the listener has changed its state.

### Methods declared in class JComponent.AccessibleJComponent

`addPropertyChangeListener, getAccessibleDescription, getAccessibleKeyBinding, getAccessibleName, getAccessibleStateSet, getBorderTitle, getTitledBorderText, getToolTipText, removePropertyChangeListener`
Modifier and Type
Method
Description
`void`
`addPropertyChangeListener(PropertyChangeListener listener)`
Adds a PropertyChangeListener to the listener list.
`String`
`getAccessibleDescription()`
Gets the accessible description of this object.
`AccessibleKeyBinding`
`getAccessibleKeyBinding()`
Returns key bindings associated with this object
`String`
`getAccessibleName()`
Gets the accessible name of this object.
`AccessibleStateSet`
`getAccessibleStateSet()`
Gets the state of this object.
`protected String`
`getBorderTitle(Border b)`
Recursively search through the border hierarchy (if it exists) for a TitledBorder with a non-null title.
`String`
`getTitledBorderText()`
Returns the titled border text
`String`
`getToolTipText()`
Returns the tool tip text
`void`
`removePropertyChangeListener(PropertyChangeListener listener)`
Removes a PropertyChangeListener from the listener list.

### Methods declared in class Container.AccessibleAWTContainer

`getAccessibleAt`
Modifier and Type
Method
Description
`Accessible`
`getAccessibleAt(Point p)`
Returns the `Accessible` child, if one exists, contained at the local coordinate `Point`.

### Methods declared in class 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, setVisible`
Modifier and Type
Method
Description
`void`
`addFocusListener(FocusListener l)`
Adds the specified focus listener to receive focus events from this component.
`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.
`AccessibleComponent`
`getAccessibleComponent()`
Gets the `AccessibleComponent` associated with this object if one exists.
`int`
`getAccessibleIndexInParent()`
Gets the index of this object in its accessible parent.
`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`
`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, getAccessibleEditableText, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, setAccessibleDescription, setAccessibleName, setAccessibleParent`
Modifier and Type
Method
Description
`void`
`firePropertyChange(String propertyName, Object oldValue, Object newValue)`
Support for reporting bound property changes.
`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.
`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

### AccessibleJSpinner

protected AccessibleJSpinner()
AccessibleJSpinner constructor

## Method Details

### stateChanged

public void stateChanged(ChangeEvent e)
Invoked when the target of the listener has changed its state.

Specified by:
  `stateChanged` in interface `ChangeListener`
Parameters:
  `e` - a `ChangeEvent` object. Must not be null.
Throws:
  `NullPointerException` - if the parameter is null.

### getAccessibleRole

public AccessibleRole getAccessibleRole()
Gets the role of this object. The role of the object is the generic purpose or use of the class of this object. For example, the role of a push button is AccessibleRole.PUSH_BUTTON. The roles in AccessibleRole are provided so component developers can pick from a set of predefined roles. This enables assistive technologies to provide a consistent interface to various tweaked subclasses of components (e.g., use AccessibleRole.PUSH_BUTTON for all components that act like a push button) as well as distinguish between subclasses that behave differently (e.g., AccessibleRole.CHECK_BOX for check boxes and AccessibleRole.RADIO_BUTTON for radio buttons).

Note that the AccessibleRole class is also extensible, so custom component developers can define their own AccessibleRole's if the set of predefined roles is inadequate.

Overrides:
  `getAccessibleRole` in class `JComponent.AccessibleJComponent`
Returns:
  an instance of AccessibleRole describing the role of the object
See Also:
  - `AccessibleRole`

### getAccessibleChildrenCount

public int getAccessibleChildrenCount()
Returns the number of accessible children of the object.

Overrides:
  `getAccessibleChildrenCount` in class `JComponent.AccessibleJComponent`
Returns:
  the number of accessible children of the object.

### getAccessibleChild

public Accessible getAccessibleChild(int i)
Returns the specified Accessible child of the object. The Accessible children of an Accessible object are zero-based, so the first child of an Accessible child is at index 0, the second child is at index 1, and so on.

Overrides:
  `getAccessibleChild` in class `JComponent.AccessibleJComponent`
Parameters:
  `i` - zero-based index of child
Returns:
  the Accessible child of the object
See Also:
  - `getAccessibleChildrenCount()`

### getAccessibleAction

public AccessibleAction getAccessibleAction()
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`

### getAccessibleText

public AccessibleText getAccessibleText()
Gets the AccessibleText associated with this object presenting text on the display.

Overrides:
  `getAccessibleText` in class `AccessibleContext`
Returns:
  AccessibleText if supported by object; else return null
See Also:
  - `AccessibleText`

### getAccessibleValue

public AccessibleValue getAccessibleValue()
Gets the AccessibleValue associated with this object.

Overrides:
  `getAccessibleValue` in class `AccessibleContext`
Returns:
  AccessibleValue if supported by object; else return null
See Also:
  - `AccessibleValue`

### getCurrentAccessibleValue

public Number getCurrentAccessibleValue()
Get the value of this object as a Number. If the value has not been set, the return value will be null.

Specified by:
  `getCurrentAccessibleValue` in interface `AccessibleValue`
Returns:
  value of the object
See Also:
  - `setCurrentAccessibleValue(Number)`

### setCurrentAccessibleValue

public boolean setCurrentAccessibleValue(Number n)
Set the value of this object as a Number.

Specified by:
  `setCurrentAccessibleValue` in interface `AccessibleValue`
Parameters:
  `n` - the value to set for this object
Returns:
  true if the value was set; else False
See Also:
  - `getCurrentAccessibleValue()`

### getMinimumAccessibleValue

public Number getMinimumAccessibleValue()
Get the minimum value of this object as a Number.

Specified by:
  `getMinimumAccessibleValue` in interface `AccessibleValue`
Returns:
  Minimum value of the object; null if this object does not have a minimum value
See Also:
  - `getMaximumAccessibleValue()`

### getMaximumAccessibleValue

public Number getMaximumAccessibleValue()
Get the maximum value of this object as a Number.

Specified by:
  `getMaximumAccessibleValue` in interface `AccessibleValue`
Returns:
  Maximum value of the object; null if this object does not have a maximum value
See Also:
  - `getMinimumAccessibleValue()`

### 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. Two actions are supported: AccessibleAction.INCREMENT which increments the spinner value and AccessibleAction.DECREMENT which decrements the spinner value

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. The first action (index 0) is AccessibleAction.INCREMENT and the second action (index 1) is AccessibleAction.DECREMENT.
Returns:
  true if the action was performed; otherwise false.
See Also:
  - `getAccessibleActionCount()`

### 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; if Point is invalid return -1.

### 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 an empty rectangle is returned.

Specified by:
  `getCharacterBounds` in interface `AccessibleText`
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

public int getCharCount()
Returns the number of characters (valid indices)

Specified by:
  `getCharCount` in interface `AccessibleText`
Returns:
  the number of characters

### getCaretPosition

public 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).

Specified by:
  `getCaretPosition` in interface `AccessibleText`
Returns:
  the zero-based offset of the caret.

### getAtIndex

public String getAtIndex(int part, int index)
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)
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)
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

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

Specified by:
  `getSelectionStart` in interface `AccessibleText`
Returns:
  the index into the text of the start of the selection

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

Specified by:
  `getSelectionEnd` in interface `AccessibleText`
Returns:
  the index into the text of the end of the selection

### getSelectedText

public String getSelectedText()
Returns the portion of the text that is selected.

Specified by:
  `getSelectedText` in interface `AccessibleText`
Returns:
  the String portion of the text that is selected

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