java.lang.Object
javax.accessibility.AccessibleContext
- 直接已知的子类:
-
Component.AccessibleAWTComponent
,ImageIcon.AccessibleImageIcon
,JList.AccessibleJList.AccessibleJListChild
,JTable.AccessibleJTable.AccessibleJTableCell
,JTableHeader.AccessibleJTableHeader.AccessibleJTableHeaderEntry
,JTree.AccessibleJTree.AccessibleJTreeNode
,MenuComponent.AccessibleAWTMenuComponent
,ProgressMonitor.AccessibleProgressMonitor
,Translator
@JavaBean(description="Minimal information that all accessible objects return") public abstract class AccessibleContext extends Object
AccessibleContext
代表所有可访问对象返回的最小信息。这些信息包括对象的可访问名称、描述、角色和状态,以及关于其父级和子级的信息。 AccessibleContext
还包含用于获取有关组件的更具体可访问性信息的方法。如果组件支持它们,这些方法将返回一个实现以下一个或多个接口的对象:
AccessibleAction
- 对象可以执行一个或多个操作。此接口提供了辅助技术确定这些操作是什么并告诉对象执行它们的标准机制。任何可操作的对象都应支持此接口。AccessibleComponent
- 对象具有图形表示。此接口提供了辅助技术确定和设置对象的图形表示的标准机制。任何在屏幕上呈现的对象都应支持此接口。AccessibleSelection
- 对象允许选择其子级。此接口提供了辅助技术确定对象当前选定的子级以及修改其选择集的标准机制。任何具有可选择子级的对象都应支持此接口。AccessibleText
- 对象在显示上呈现可编辑的文本信息。此接口提供了辅助技术通过其内容、属性和空间位置访问该文本的标准机制。任何包含可编辑文本的对象都应支持此接口。AccessibleValue
- 对象支持数值。此接口提供了辅助技术确定和设置对象的当前值以及获取其最小值和最大值的标准机制。任何支持数值的对象都应支持此接口。
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
用于指示支持的操作集合已更改的常量。static final String
用于确定组件的活动后代何时更改的常量。static final String
用于确定accessibleText
插入符何时更改的常量。static final String
用于确定Accessible
子级何时添加/移除自对象的常量。static final String
指示组件边界发生更改的PropertyChangeEvent
。static final String
用于确定accessibleDescription
属性何时更改的常量。static final String
用于指示超文本元素已获得焦点的常量。static final String
指示组件的子级(如树或文本)发生重大更改的PropertyChangeEvent
。static final String
用于确定accessibleName
属性何时更改的常量。static final String
用于确定accessibleSelection
何时更改的常量。static final String
用于确定accessibleStateSet
属性何时更改的常量。static final String
用于指示表标题已更改的常量。static final String
用于指示列描述已更改的常量。static final String
用于指示列标题已更改的常量。static final String
用于指示表数据已更改的常量。static final String
用于指示行描述已更改的常量。static final String
用于指示行标题已更改的常量。static final String
用于指示表摘要已更改的常量。static final String
指示文本属性已更改的PropertyChangeEvent
。static final String
指示文本已更改的PropertyChangeEvent
。static final String
用于确定accessibleValue
属性何时更改的常量。static final String
用于确定对象的视觉外观何时更改的常量。protected String
包含对象描述的本地化字符串。protected String
包含对象名称的本地化字符串。protected Accessible
此对象的可访问父级。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
向侦听器列表添加PropertyChangeListener
。void
firePropertyChange
(String propertyName, Object oldValue, Object newValue) 支持报告绑定属性更改。获取与支持一个或多个操作的此对象关联的AccessibleAction
。abstract Accessible
getAccessibleChild
(int i) 返回对象的指定Accessible
子级。abstract int
返回对象的可访问子级数。获取与具有图形表示的此对象关联的AccessibleComponent
。获取此对象的accessibleDescription
属性。获取与在显示上呈现可编辑文本的此对象关联的AccessibleEditableText
。获取与具有一个或多个关联图标的对象关联的AccessibleIcons
。abstract int
获取此对象在其可访问父级中的基于0的索引。获取此对象的accessibleName
属性。获取此对象的Accessible
父级。获取与对象关联的AccessibleRelationSet
。abstract AccessibleRole
获取此对象的角色。获取与此对象关联的AccessibleSelection
,允许其Accessible
子级被选择。abstract AccessibleStateSet
获取此对象的状态集。获取与对象关联的AccessibleTable
。获取与在显示上呈现文本的此对象关联的AccessibleText
。获取与支持数值
值的此对象关联的AccessibleValue
。abstract Locale
获取组件的区域设置。void
从侦听器列表中删除PropertyChangeListener
。void
设置此对象的可访问描述。void
设置此对象的本地化可访问名称。void
设置此对象的Accessible
父级。
-
Field Details
-
ACCESSIBLE_NAME_PROPERTY
- 参见:
-
ACCESSIBLE_DESCRIPTION_PROPERTY
用于确定accessibleDescription
属性何时更改的常量。PropertyChangeEvent
中的旧值将是旧的accessibleDescription
,新值将是新的accessibleDescription
。- 参见:
-
ACCESSIBLE_STATE_PROPERTY
用于确定accessibleStateSet
属性何时更改的常量。 旧值将是旧的AccessibleState
,新值将是accessibleStateSet
中的新AccessibleState
。 例如,如果支持垂直和水平状态的组件将其方向从垂直更改为水平,则旧值将是AccessibleState.VERTICAL
,新值将是AccessibleState.HORIZONTAL
。 请注意,任一值也可以是null
。 例如,当组件从启用更改为禁用时,旧值将是AccessibleState.ENABLED
,新值将是null
。- 参见:
-
ACCESSIBLE_VALUE_PROPERTY
用于确定accessibleValue
属性何时更改的常量。PropertyChangeEvent
中的旧值将是表示旧值的Number
,新值将是表示新值的Number
。- 参见:
-
ACCESSIBLE_SELECTION_PROPERTY
用于确定accessibleSelection
何时更改的常量。PropertyChangeEvent
中的旧值和新值目前保留供将来使用。- 参见:
-
ACCESSIBLE_CARET_PROPERTY
用于确定accessibleText
插入符何时更改的常量。PropertyChangeEvent
中的旧值将是表示旧插入符位置的整数,新值将是表示新/当前插入符位置的整数。- 参见:
-
ACCESSIBLE_VISIBLE_DATA_PROPERTY
用于确定对象的视觉外观何时更改的常量。PropertyChangeEvent
中的旧值和新值目前保留供将来使用。- 参见:
-
ACCESSIBLE_CHILD_PROPERTY
用于确定何时从对象中添加/移除Accessible
子代的常量。 如果正在添加Accessible
子代,则旧值将是null
,新值将是Accessible
子代。 如果正在移除Accessible
子代,则旧值将是Accessible
子代,新值将是null
。- 参见:
-
ACCESSIBLE_ACTIVE_DESCENDANT_PROPERTY
用于确定组件的活动后代何时更改的常量。 活动后代用于列表、树和表等对象,这些对象可能具有瞬态子代。 当活动后代更改时,属性更改事件的旧值将是表示先前活动子代的Accessible
,新值将是表示当前活动子代的Accessible
。- 参见:
-
ACCESSIBLE_TABLE_CAPTION_CHANGED
用于指示表标题已更改的常量。PropertyChangeEvent
中的旧值将是表示先前表标题的Accessible
,新值将是表示新表标题的Accessible
。- 参见:
-
ACCESSIBLE_TABLE_SUMMARY_CHANGED
用于指示表摘要已更改的常量。PropertyChangeEvent
中的旧值将是表示先前表摘要的Accessible
,新值将是表示新表摘要的Accessible
。- 参见:
-
ACCESSIBLE_TABLE_MODEL_CHANGED
用于指示表数据已更改的常量。PropertyChangeEvent
中的旧值将是null
,新值将是表示表更改的AccessibleTableModelChange
。- 参见:
-
ACCESSIBLE_TABLE_ROW_HEADER_CHANGED
用于指示行标题已更改的常量。PropertyChangeEvent
中的旧值将是null
,新值将是表示标题更改的AccessibleTableModelChange
。- 参见:
-
ACCESSIBLE_TABLE_ROW_DESCRIPTION_CHANGED
用于指示行描述已更改的常量。PropertyChangeEvent
中的旧值将是null
,新值将是表示行索引的Integer
。- 参见:
-
ACCESSIBLE_TABLE_COLUMN_HEADER_CHANGED
用于指示列标题已更改的常量。PropertyChangeEvent
中的旧值将是null
,新值将是表示标题更改的AccessibleTableModelChange
。- 参见:
-
ACCESSIBLE_TABLE_COLUMN_DESCRIPTION_CHANGED
用于指示列描述已更改的常量。PropertyChangeEvent
中的旧值将是null
,新值将是表示列索引的Integer
。- 参见:
-
ACCESSIBLE_ACTION_PROPERTY
用于指示支持的操作集已更改的常量。PropertyChangeEvent
中的旧值将是表示旧支持操作数的Integer
,新值将是表示新支持操作数的Integer
。- 参见:
-
ACCESSIBLE_HYPERTEXT_OFFSET
用于指示超文本元素已获得焦点的常量。PropertyChangeEvent
中的旧值将是表示先前具有焦点元素在文档中的起始索引的Integer
,新值将是表示当前具有焦点元素在文档中的起始索引的Integer
。 值为-1表示元素没有焦点或没有焦点。- 参见:
-
ACCESSIBLE_TEXT_PROPERTY
PropertyChangeEvent
表示文本已更改。
对于文本插入,oldValue
为null
,而newValue
是一个AccessibleTextSequence
,指定插入的文本。
对于文本删除,oldValue
是一个指定已删除文本的AccessibleTextSequence
,而newValue
是null
。
对于文本替换,oldValue
是一个指定旧文本的AccessibleTextSequence
,而newValue
是一个指定新文本的AccessibleTextSequence
。- 参见:
-
ACCESSIBLE_INVALIDATE_CHILDREN
PropertyChangeEvent
表示组件的子项(如树或文本)发生了重大更改。此更改通知事件侦听器需要重新获取子组件的状态。oldValue
为null
,而newValue
是子项已变为无效的组件。- 自 JDK 1.5 起
- 参见:
-
ACCESSIBLE_TEXT_ATTRIBUTES_CHANGED
PropertyChangeEvent
表示文本属性已更改。
对于属性插入,oldValue
为null
,而newValue
是一个指定插入属性的AccessibleAttributeSequence
。
对于属性删除,oldValue
是一个指定已删除属性的AccessibleAttributeSequence
,而newValue
是null
。
对于属性替换,oldValue
是一个指定旧属性的AccessibleAttributeSequence
,而newValue
是一个指定新属性的AccessibleAttributeSequence
。- 自 JDK 1.5 起
- 参见:
-
ACCESSIBLE_COMPONENT_BOUNDS_CHANGED
PropertyChangeEvent
表示组件边界发生了更改。oldValue
是旧的组件边界,而newValue
是新的组件边界。- 自 JDK 1.5 起
- 参见:
-
accessibleParent
此对象的可访问父级。- 参见:
-
accessibleName
包含对象名称的本地化字符串。- 参见:
-
accessibleDescription
包含对象描述的本地化字符串。- 参见:
-
-
Constructor Details
-
AccessibleContext
protected AccessibleContext()供子类调用的构造函数。
-
-
Method Details
-
getAccessibleName
获取此对象的accessibleName
属性。对象的accessibleName
属性是指定对象用途的本地化String
。例如,标签或按钮的accessibleName
属性可能是标签或按钮本身的文本。对于不显示其名称的对象,仍应设置accessibleName
。例如,在用于输入城市名称的文本字段的情况下,en_US
区域设置下的accessibleName
可以是“城市”。- 返回:
-
对象的本地化名称;如果此对象没有名称,则为
null
- 参见:
-
setAccessibleName
@BeanProperty(preferred=true, description="Sets the accessible name for the component.") public void setAccessibleName(String s) 设置此对象的本地化可访问名称。更改名称将导致为ACCESSIBLE_NAME_PROPERTY
属性触发PropertyChangeEvent
。 -
getAccessibleDescription
-
setAccessibleDescription
@BeanProperty(preferred=true, description="Sets the accessible description for the component.") public void setAccessibleDescription(String s) 设置此对象的可访问描述。更改名称将导致为ACCESSIBLE_DESCRIPTION_PROPERTY
属性触发PropertyChangeEvent
。- 参数:
-
s
- 对象的新本地化描述 - 参见:
-
getAccessibleRole
获取此对象的角色。对象的角色是此对象类的通用目的或用途。例如,按钮的角色是AccessibleRole.PUSH_BUTTON
。AccessibleRole
中的角色是为了使组件开发人员可以从一组预定义的角色中选择。这使辅助技术能够为各种微调的组件子类提供一致的接口(例如,对所有类似按钮的组件使用AccessibleRole.PUSH_BUTTON
),并区分行为不同的子类(例如,对于复选框使用AccessibleRole.CHECK_BOX
,对于单选按钮使用AccessibleRole.RADIO_BUTTON
)。请注意,
AccessibleRole
类也是可扩展的,因此自定义组件开发人员可以定义自己的AccessibleRole
,如果预定义角色集不足够。- 返回:
-
描述对象角色的
AccessibleRole
实例 - 参见:
-
getAccessibleStateSet
获取此对象的状态集。对象的AccessibleStateSet
由一组唯一的AccessibleStates
组成。对象的AccessibleStateSet
的更改将导致为ACCESSIBLE_STATE_PROPERTY
属性触发PropertyChangeEvent
。- 返回:
-
包含对象当前状态集的
AccessibleStateSet
实例 - 参见:
-
getAccessibleParent
获取此对象的Accessible
父级。- 返回:
-
此对象的
Accessible
父级;如果此对象没有Accessible
父级,则为null
-
setAccessibleParent
设置此对象的Accessible
父级。这仅应在实际组件的父级不应被视为组件的可访问父级的情况下使用,并且这是仅应由可访问子级的父级调用的方法。- 参数:
-
a
- 要设置为父级的Accessible
-
getAccessibleIndexInParent
public abstract int getAccessibleIndexInParent()获取此对象在其可访问父级中的基于 0 的索引。- 返回:
- 此对象在其父级中的基于0的索引;如果此对象没有可访问的父级,则返回-1。
- 参见:
-
getAccessibleChildrenCount
public abstract int getAccessibleChildrenCount()返回对象的可访问子对象数量。- 返回:
- 对象的可访问子对象数量。
-
getAccessibleChild
返回指定的对象的Accessible
子对象。一个Accessible
对象的子对象是基于零的,因此Accessible
子对象的第一个子对象位于索引0,第二个子对象位于索引1,依此类推。- 参数:
-
i
- 子对象的基于零的索引 - 返回:
-
对象的
Accessible
子对象 - 参见:
-
getLocale
获取组件的区域设置。如果组件没有区域设置,则返回其父级的区域设置。- 返回:
- 此组件的区域设置。如果此组件没有区域设置,则返回其父级的区域设置。
- 抛出:
-
IllegalComponentStateException
- 如果组件没有自己的区域设置并且尚未添加到包含层次结构中以便从包含父级确定区域设置
-
addPropertyChangeListener
向监听器列表中添加一个PropertyChangeListener
。该监听器将注册所有Accessible
属性,并在这些属性更改时调用。- 参数:
-
listener
- 要添加的PropertyChangeListener - 参见:
-
removePropertyChangeListener
从监听器列表中移除一个PropertyChangeListener
。这将移除为所有属性注册的PropertyChangeListener
。- 参数:
-
listener
- 要移除的PropertyChangeListener
-
getAccessibleAction
获取与此对象关联的AccessibleAction
,支持一个或多个操作。- 返回:
-
如果对象支持
AccessibleAction
,则返回AccessibleAction
;否则返回null
- 参见:
-
getAccessibleComponent
获取与此对象关联的具有图形表示的AccessibleComponent
。- 返回:
-
如果对象支持
AccessibleComponent
,则返回AccessibleComponent
;否则返回null
- 参见:
-
getAccessibleSelection
获取与此对象关联的AccessibleSelection
,允许选择其Accessible
子对象。- 返回:
-
如果对象支持
AccessibleSelection
,则返回AccessibleSelection
;否则返回null
- 参见:
-
getAccessibleText
获取与此对象呈现在显示器上的文本相关联的AccessibleText
。- 返回:
-
如果对象支持
AccessibleText
,则返回AccessibleText
;否则返回null
- 参见:
-
getAccessibleEditableText
获取与此对象呈现在显示器上的可编辑文本相关联的AccessibleEditableText
。- 返回:
-
如果对象支持
AccessibleEditableText
,则返回AccessibleEditableText
;否则返回null
- 自从:
- 1.4
- 参见:
-
getAccessibleValue
获取与此对象支持数值
值的AccessibleValue
。- 返回:
-
如果对象支持
AccessibleValue
,则返回AccessibleValue
;否则返回null
- 参见:
-
getAccessibleIcon
获取与具有一个或多个相关联图标的对象关联的AccessibleIcons
。- 返回:
-
如果对象支持
AccessibleIcon
,则返回AccessibleIcon
数组;否则返回null
- 自从:
- 1.3
- 参见:
-
getAccessibleRelationSet
获取与对象关联的AccessibleRelationSet
。- 返回:
-
如果对象支持
AccessibleRelationSet
,则返回AccessibleRelationSet
;否则返回null
- 自从:
- 1.3
- 参见:
-
getAccessibleTable
获取与对象关联的AccessibleTable
。- 返回:
-
如果对象支持
AccessibleTable
,则返回AccessibleTable
;否则返回null
- 自从:
- 1.3
- 参见:
-
firePropertyChange
支持报告绑定属性更改。如果oldValue
和newValue
不相等,并且PropertyChangeEvent
监听器列表不为空,则向每个监听器触发PropertyChange
事件。一般来说,这是供Accessible
对象自身使用的,不应由应用程序调用。- 参数:
-
propertyName
- 已更改的属性的程序名称 -
oldValue
- 属性的旧值 -
newValue
- 属性的新值 - 参见:
-