快速业务通道

为可访问性编码: 用JFC/Swing将可访问性构建到您的Java应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
单 8. setAccessibleValues 用法示例

JButton setupButton(String name, String action, int vKey) {     return (JButton)AccessibleUtils.setAccessibleValues(resourceBundle,       (Accessible)new JButton(),       new AccessibleUtils.AccessibleValues(         idGen.nextId("button"),         name,         AccessibleUtils.formatText(resourceBundle,           "{0} button", name),         "=tt",         AccessibleUtils.formatText(resourceBundle,           "Press to {0}", action),         vKey)); }

setupButton 方法通过封装 setAccessibleValues() 调用,对按钮创建进行了进一步 简化和标准化。请注意它使用“ =tt ”将可访问描述设置成了 ToolTip。 IdGenerator.nextId(String base) 是生成唯一名称的实用程序方法。 idGen 是 IdGenerator 的实例。

各种 public static AccessibilityUtils.formatText() 方法通过插入值对字符串进 行格式化。 formatText 方法使用了 java.text.MessageFormat 类。 formatText 有以 下形式:

String formatText(String pattern, String args, String delims); String formatText(ResourceBundle rb, String pattern, Object[] args); String formatText(ResourceBundle rb, String pattern, String args); String formatText(ResourceBundle rb, String pattern, String args,     String delims);

类似的助手方法用于大多数组件类型。

对关系的支持

GUI 中组件组之间的关系通常很杂乱。让 AT 阅读器明了这些关系,可以使它增强组 件组的表示,从而将比较复杂的信息传递给用户。在 Swing 中,我们使用 AccessibleContext() 方法的 AccessibleRelationSet getAccessibleRelationSet() 方 法来定义关系。

AccessibleRelationSet 包含一组 AccessibleRelation 。每个 AccessibleRelation 描述两个 Accessible 对象(源和目标)之间的关系。目前,这些关系是如下所示定义的 :

CONTROLLED_BY 将给定目标标识为给定组件的控制器。

CONTROLLER_FOR 表明给定组件控制给定目标。

LABELLED_BY 表明给定组件是由给定目标标记的。

LABEL_FOR 表明给定组件是给定目标的标签。

MEMBER_OF 表明给定组件是给定目标组的成员。

为可访问性编码: 用JFC/Swing将可访问性构建到您的Java应用(8)

时间:2011-04-03 IBM Barry A. Feigenbaum

AccessibilityDemo1 中的可访问性工具箱提供了几种实用程序方法,它们可以帮助您 定义可访问关系。单选按钮之间的“只有一个被选中”关系是一种很常见的关 系。在 Swing 中,我们使用 javax.swing.ButtonGroup 来实现这种关系。清单 9 显示 了可访问性工具箱用于在按钮组中定义单选按钮的实用程序方法。您会注意到,既有定义 单个单选按钮的方法,也有定义单选按钮集(或组)的方法。

清单 9. 定义组中按钮的方法

JRadioButton setupRadioButton(      String name, String action, int vKey, boolean selected) {     JRadioButton b = new JRadioButton();     b.setSelected(selected);     return (JRadioButton)AccessibleUtils.setAccessibleValues(       resourceBundle, (Accessible)b,       new AccessibleUtils.AccessibleValues(        idGen.nextId("radioButton"),        name,        AccessibleUtils.formatText(resourceBundle, "{0} Button", name),        "=tt",        A

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号