java.lang.Object
javax.accessibility.AccessibleContext
java.awt.Component.AccessibleAWTComponent
java.awt.Container.AccessibleAWTContainer
javax.swing.JComponent.AccessibleJComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent
- 所有已实现的接口:
-
Serializable
,EventListener
,AccessibleAction
,AccessibleComponent
,AccessibleEditableText
,AccessibleExtendedComponent
,AccessibleExtendedText
,AccessibleText
,CaretListener
,DocumentListener
- 直接已知的子类:
-
JEditorPane.AccessibleJEditorPane
,JTextArea.AccessibleJTextArea
,JTextField.AccessibleJTextField
- 封装类:
-
JTextComponent
public class JTextComponent.AccessibleJTextComponent extends JComponent.AccessibleJComponent implements AccessibleText, CaretListener, DocumentListener, AccessibleAction, AccessibleEditableText, AccessibleExtendedText
该类实现了对
JTextComponent
类的辅助功能支持。它提供了适用于菜单用户界面元素的Java辅助功能API的实现。
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4版本开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参见XMLEncoder
。
-
Nested Class Summary
Nested classes/interfaces declared in class javax.swing.JComponent.AccessibleJComponent
JComponent.AccessibleJComponent.AccessibleContainerHandler, JComponent.AccessibleJComponent.AccessibleFocusHandler
Nested 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
accessibleFocusHandler
Fields declared in class java.awt.Container.AccessibleAWTContainer
accessibleContainerHandler
Fields declared in class java.awt.Component.AccessibleAWTComponent
accessibleAWTComponentHandler, accessibleAWTFocusHandler
Fields 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, accessibleParent
Fields declared in interface javax.accessibility.AccessibleAction
CLICK, DECREMENT, INCREMENT, TOGGLE_EXPAND, TOGGLE_POPUP
Fields declared in interface javax.accessibility.AccessibleExtendedText
ATTRIBUTE_RUN, LINE
Fields declared in interface javax.accessibility.AccessibleText
CHARACTER, SENTENCE, WORD
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
处理插入符更新(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_CARET_PROPERTY和AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY)。void
处理文档删除(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_TEXT_PROPERTY)。void
cut
(int startIndex, int endIndex) 将两个索引之间的文本剪切到系统剪贴板。void
delete
(int startIndex, int endIndex) 删除两个索引之间的文本。boolean
doAccessibleAction
(int i) 对对象执行指定的操作。int
返回此对象中可用的可访问操作的数量。如果有多个操作,则第一个被视为对象的“默认”操作。返回对象的指定操作的描述。返回此文本组件的AccessibleEditableText接口。获取此对象的角色。获取JTextComponent的状态集。获取与此对象关联的AccessibleText。getAfterIndex
(int part, int index) 返回给定索引之后的字符串。getAtIndex
(int part, int index) 返回给定索引处的字符串。getBeforeIndex
(int part, int index) 返回给定索引之前的字符串。int
返回插入符的从零开始的偏移量。getCharacterAttribute
(int i) 返回给定字符(在给定索引处)的属性集。getCharacterBounds
(int i) 确定给定索引处字符串中的字符的边界框。int
返回字符数(有效索引)。int
给定本地坐标中的点,返回该点下字符的从零开始的索引。返回所选文本内的结束偏移量。int
返回所选文本内的开始偏移量。int
返回两个索引之间所选文本的Rectangle
。getTextBounds
(int startIndex, int endIndex) 返回两个索引之间的文本字符串。getTextRange
(int startIndex, int endIndex) 返回给定索引之后的AccessibleTextSequence
。getTextSequenceAfter
(int part, int index) 返回给定索引处的AccessibleTextSequence
。getTextSequenceAt
(int part, int index) 返回给定索引之前的AccessibleTextSequence
。getTextSequenceBefore
(int part, int index) 在给定索引处插入指定的字符串。void
insertTextAtIndex
(int index, String s) 处理文档插入(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_TEXT_PROPERTY)。void
将系统剪贴板中的文本粘贴到从指定索引开始的文本中。void
paste
(int startIndex) 处理文档删除(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_TEXT_PROPERTY)。void
用指定字符串替换两个索引之间的文本。void
replaceText
(int startIndex, int endIndex, String s) 选择两个索引之间的文本。void
selectText
(int startIndex, int endIndex) 为两个索引之间的文本设置属性。void
setAttributes
(int startIndex, int endIndex, AttributeSet as) 将文本内容设置为指定的字符串。void
构造一个AccessibleJTextComponent。添加一个监听器以跟踪插入符更改。Methods declared in class javax.swing.JComponent.AccessibleJComponent
addPropertyChangeListener, getAccessibleChild, getAccessibleChildrenCount, getAccessibleDescription, getAccessibleKeyBinding, getAccessibleName, getBorderTitle, getTitledBorderText, getToolTipText, removePropertyChangeListener
Methods declared in class java.awt.Container.AccessibleAWTContainer
getAccessibleAt
Methods 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, setVisible
Methods declared in class javax.accessibility.AccessibleContext
firePropertyChange, getAccessibleAction, getAccessibleIcon, getAccessibleRelationSet, getAccessibleSelection, getAccessibleTable, getAccessibleValue, setAccessibleDescription, setAccessibleName, setAccessibleParent
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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()处理插入符更新(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_CARET_PROPERTY和AccessibleContext.ACCESSIBLE_SELECTION_PROPERTY)。这在触发事件后会在内部更新位置以跟踪插入符移动。
-
-
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.- 指定者:
-
caretUpdate
在接口CaretListener
中 - 参数:
-
e
- CaretEvent
-
insertUpdate
处理文档插入(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_TEXT_PROPERTY)。通过事件跟踪更改的偏移量。- 指定者:
-
insertUpdate
在接口DocumentListener
中 - 参数:
-
e
- DocumentEvent
-
removeUpdate
处理文档删除(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_TEXT_PROPERTY)。通过事件跟踪更改的偏移量。- 指定者:
-
removeUpdate
在接口DocumentListener
中 - 参数:
-
e
- DocumentEvent
-
changedUpdate
处理文档删除(触发适当的属性更改事件,即AccessibleContext.ACCESSIBLE_TEXT_PROPERTY)。通过事件跟踪更改的偏移量。- 指定者:
-
changedUpdate
在接口DocumentListener
中 - 参数:
-
e
- DocumentEvent
-
getAccessibleStateSet
获取JTextComponent的状态集。对象的AccessibleStateSet由一组唯一的AccessibleState组成。对象的AccessibleStateSet的更改将导致为AccessibleContext.ACCESSIBLE_STATE_PROPERTY属性触发PropertyChangeEvent。- 覆盖:
-
getAccessibleStateSet
在类JComponent.AccessibleJComponent
中 - 返回:
- 包含对象当前状态集的AccessibleStateSet的实例
- 参见:
-
getAccessibleRole
获取此对象的角色。- 覆盖:
-
getAccessibleRole
在类JComponent.AccessibleJComponent
中 - 返回:
- 描述对象角色的AccessibleRole实例(AccessibleRole.TEXT)
- 参见:
-
getAccessibleText
获取与此对象关联的AccessibleText。在此类的Java辅助功能API实现中,返回此对象,该对象负责代表自身实现AccessibleText接口。- 覆盖:
-
getAccessibleText
在类AccessibleContext
中 - 返回:
- 此对象
- 参见:
-
getIndexAtPoint
给定本地坐标中的点,返回该点下字符的从零开始的索引。如果点无效,则此方法返回-1。- 指定者:
-
getIndexAtPoint
在接口AccessibleText
中 - 参数:
-
p
- 本地坐标中的点 - 返回:
- 点p下字符的从零开始的索引。
-
getCharacterBounds
确定给定索引处字符串中字符的边界框。边界以本地坐标返回。如果索引无效,则返回null矩形。如果JTextComponent包含在JScrollPane中,则返回的屏幕坐标是“未滚动的坐标”,在这种情况下,结果矩形应与父坐标组合。一个好的算法是:可访问的 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;
注意:JTextComponent必须具有有效的大小(例如,已添加到祖先容器为有效顶级窗口的父容器)才能使此方法能够返回有意义(非null)的值。- 指定者:
-
getCharacterBounds
在接口AccessibleText
中 - 参数:
-
i
- 字符串中的索引 ≥ 0 - 返回:
- 字符边界的屏幕坐标
-
getCharCount
public int getCharCount()返回字符数(有效索引)- 指定者:
-
getCharCount
在接口AccessibleText
中 - 返回:
- 字符数 ≥ 0
-
getCaretPosition
public int getCaretPosition()返回插入符的从零开始偏移量。注意:插入符右侧的字符将具有与偏移量相同的索引值(插入符位于两个字符之间)。- 指定者:
-
getCaretPosition
在接口AccessibleText
中 - 返回:
- 插入符的从零开始偏移量。
-
getCharacterAttribute
返回给定字符(在给定索引处)的属性集。- 指定者:
-
getCharacterAttribute
在接口AccessibleText
中 - 参数:
-
i
- 文本中的从零开始索引 - 返回:
- 字符的属性集
-
getSelectionStart
public int getSelectionStart()返回所选文本中的起始偏移量。如果没有选择,但有插入符,则起始和结束偏移量将相同。如果文本为空,则返回0,如果没有选择,则返回插入符位置。- 指定者:
-
getSelectionStart
在接口AccessibleText
中 - 返回:
- 选择开始的文本索引 ≥ 0
-
getSelectionEnd
public int getSelectionEnd()返回所选文本中的结束偏移量。如果没有选择,但有插入符,则起始和结束偏移量将相同。如果文本为空,则返回0,如果没有选择,则返回插入符位置。- 指定者:
-
getSelectionEnd
在接口AccessibleText
中 - 返回:
- 选择结束的文本索引 ≥ 0
-
getSelectedText
返回所选文本部分。- 指定者:
-
getSelectedText
在接口AccessibleText
中 - 返回:
- 文本,如果没有选择则为null
-
getAtIndex
返回给定索引处的字符串。单词之间的空格被视为一个单词。- 指定者:
-
getAtIndex
在接口AccessibleText
中 - 参数:
-
part
- 要检索的字符、单词或句子 -
index
- 文本中的索引 - 返回:
- 字母、单词或句子。
-
getAfterIndex
返回给定索引之后的字符串。单词之间的空格被视为一个单词。- 指定者:
-
getAfterIndex
在接口AccessibleText
中 - 参数:
-
part
- 要检索的字符、单词或句子 -
index
- 文本中的索引 - 返回:
- 字母、单词或句子。
-
getBeforeIndex
返回给定索引之前的字符串。单词之间的空格被视为一个单词。- 指定者:
-
getBeforeIndex
在接口AccessibleText
中 - 参数:
-
part
- 要检索的字符、单词或句子 -
index
- 文本中的索引 - 返回:
- 字母、单词或句子。
-
getAccessibleEditableText
返回此文本组件的AccessibleEditableText接口。- 覆盖:
-
getAccessibleEditableText
在类AccessibleContext
中 - 返回:
- AccessibleEditableText接口
- 自:
- 1.4
- 参见:
-
setTextContents
将文本内容设置为指定的字符串。- 指定者:
-
setTextContents
在接口AccessibleEditableText
中 - 参数:
-
s
- 要设置文本内容的字符串 - 自:
- 1.4
-
insertTextAtIndex
在给定索引处插入指定的字符串- 指定者:
-
insertTextAtIndex
在接口AccessibleEditableText
中 - 参数:
-
index
- 要插入字符串的文本中的索引 -
s
- 要在文本中插入的字符串 - 自:
- 1.4
-
getTextRange
返回两个索引之间的文本字符串。- 指定者:
-
getTextRange
在接口AccessibleEditableText
中 - 指定者:
-
getTextRange
在接口AccessibleExtendedText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 - 返回:
- 两个索引之间的文本字符串
- 自:
- 1.4
-
delete
public void delete(int startIndex, int endIndex) 删除两个索引之间的文本- 指定者:
-
delete
在接口AccessibleEditableText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 - 自:
- 1.4
-
cut
public void cut(int startIndex, int endIndex) 将两个索引之间的文本剪切到系统剪贴板中。- 指定者:
-
cut
在接口AccessibleEditableText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 - 自:
- 1.4
-
paste
public void paste(int startIndex) 将系统剪贴板中的文本粘贴到从指定索引开始的文本中。- 指定者:
-
paste
在接口AccessibleEditableText
中 - 参数:
-
startIndex
- 文本中的起始索引 - 自版本:
- 1.4
-
replaceText
用指定的字符串替换两个索引之间的文本。- 指定者:
-
replaceText
在接口AccessibleEditableText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 -
s
- 用于替换两个索引之间的文本的字符串 - 自版本:
- 1.4
-
selectText
public void selectText(int startIndex, int endIndex) 选择两个索引之间的文本。- 指定者:
-
selectText
在接口AccessibleEditableText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 - 自版本:
- 1.4
-
setAttributes
为两个索引之间的文本设置属性。- 指定者:
-
setAttributes
在接口AccessibleEditableText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 -
as
- 属性集 - 自版本:
- 1.4
- 另请参阅:
-
getTextSequenceAt
返回给定index
处的AccessibleTextSequence
。- 指定者:
-
getTextSequenceAt
在接口AccessibleExtendedText
中 - 参数:
-
part
- 要检索的CHARACTER
、WORD
、SENTENCE
、LINE
或ATTRIBUTE_RUN
-
index
- 文本中的索引 - 返回:
-
如果
part
和index
有效,则返回指定文本的AccessibleTextSequence
。否则,返回null
- 自版本:
- 1.6
- 另请参阅:
-
getTextSequenceAfter
返回给定index
之后的AccessibleTextSequence
。- 指定者:
-
getTextSequenceAfter
在接口AccessibleExtendedText
中 - 参数:
-
part
- 要检索的CHARACTER
、WORD
、SENTENCE
、LINE
或ATTRIBUTE_RUN
-
index
- 文本中的索引 - 返回:
-
如果
part
和index
有效,则返回指定文本的AccessibleTextSequence
。否则,返回null
- 自版本:
- 1.6
- 另请参阅:
-
getTextSequenceBefore
返回给定index
之前的AccessibleTextSequence
。- 指定者:
-
getTextSequenceBefore
在接口AccessibleExtendedText
中 - 参数:
-
part
- 要检索的CHARACTER
、WORD
、SENTENCE
、LINE
或ATTRIBUTE_RUN
-
index
- 文本中的索引 - 返回:
-
如果
part
和index
有效,则返回指定文本的AccessibleTextSequence
。否则,返回null
- 自版本:
- 1.6
- 另请参阅:
-
getTextBounds
返回两个索引之间的文本所包围的Rectangle
。- 指定者:
-
getTextBounds
在接口AccessibleExtendedText
中 - 参数:
-
startIndex
- 文本中的起始索引 -
endIndex
- 文本中的结束索引 - 返回:
-
如果索引有效,则返回文本的边界矩形。否则,返回
null
- 自版本:
- 1.6
-
getAccessibleActionCount
public int getAccessibleActionCount()返回此对象中可用的可访问操作的数量。如果有多个操作,则将第一个操作视为对象的“默认”操作。- 指定者:
-
getAccessibleActionCount
在接口AccessibleAction
中 - 返回:
- 此对象中操作的从零开始的数量
- 自版本:
- 1.4
-
getAccessibleActionDescription
返回对象的指定操作的描述。- 指定者:
-
getAccessibleActionDescription
在接口AccessibleAction
中 - 参数:
-
i
- 操作的从零开始的索引 - 返回:
- 操作的字符串描述
- 自版本:
- 1.4
- 另请参阅:
-
doAccessibleAction
public boolean doAccessibleAction(int i) 对对象执行指定的操作- 指定者:
-
doAccessibleAction
在接口AccessibleAction
中 - 参数:
-
i
- 操作的从零开始的索引 - 返回:
- 如果执行了操作,则返回true;否则返回false。
- 自版本:
- 1.4
- 另请参阅:
-