免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2117 | 回复: 0
打印 上一主题 下一主题

用JAAPI设计更具访问性的Java软件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-24 08:54 |只看该作者 |倒序浏览
用Java平台开发桌面应用软件越来越流行。但是为了符合Windows应用软件的工程兼容性标准,须确保在软件开发过程中不会为软件的可访问性存在任何障碍。

    Java API的早期版本并不具备对可访问性的本地支持和辅助设备,因此很多有视觉障碍的用户就无法使用Java产品了。为了解决这一问题,Sun公司发布了Java可访问性API(Java Accessibility API (JAAPI)),JAAPI为图形用户界面的信息和辅助技术之间架设了桥梁,用户可以选择使用其他的控制和表示方法来使用Java应用软件。

Java平台的可访问性包含了以下的基本元素:

· JAAPI:提供了Java应用软件和辅助技术(比如一个屏幕读取器或盲人用的显示设备· )之间的协议。
· Java可访问性应用程序(Java Accessibility Utilities):提供了从应用软件获取信息的能力,· 并可以进一步处理这些信息,· 然后使用特殊设备· 进行显示。它们帮助辅助技术监控组件相关的事件并获取图形用户界面相关的额外信息,· 比如鼠标· 的当前位置或者当前的活动窗口。
· Java访问桥(Java AccessBridge (JAB):这是在Windows操作系统中为Java平台提供可访问功能的重要元素,· JAB最初 是在J2SE1.3中引入的。
· Java基础类(Java Foundation Classes (JFC) ):GUI组件的类库,· 完全实现了JAAPI。

JAAPI

    可访问性API包含了一系列界面和类,最主要的界面是访问性界面,所有支持可访问性的组件都必需实现这一界面。可访问性界面定义了一个方法:getAccessibleContext,当调用一个可访问性组件的时候,getAccessibleContext方法将返回一个AccessibleContext 对象。该对象包含了组件中的最基本的可访问性信息,比如组件的可访问性名称、描述、角色、父节点和子节点以及组件的状态等等。比如,如果这个组件是一个窗口,那么AccessibleContext可以说明这个窗口是否是当前活动窗口。
很多Swing组件都实现了可访问性界面,比如JButton和JTextArea,您可以使用setAccessibleName和setAccessibleDescription方法为按钮设定名称和描述信息,下面的代码提供了简单的例子,这个程序会显示一个按钮的可用性功能。

importjava.awt.*;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.accessibility.*;
public class AccessSimpleButton extends JPanel {
public AccessSimpleButton() {
JButtonaButton = new JButton("Button");
aButton.getAccessibleContext().
setAccessibleName("Button");
String desc = "This is a simple button";
aButton.getAccessibleContext().
setAccessibleDescription(desc);
add(aButton);
}
public static void main(String[] args) {
JFrame frame = new JFrame(
"AccessSimpleButton");
frame.getContentPane().
add(new AccessSimpleButton(),
BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
    除了设定和获取基本的可用性信息之外,AccessibleContext还有用于获取具有特殊类型字符组件的方法。例如,一个显示文字的组件可以通过实现AccessibleContext界面来使这些文字更具访问性。AccessibleContext的getAccessibleText方法可以通过AccessibleText界面来返回一个组件的可访问性文字。辅助技术可以使用AccessibleText界面方法对文字执行操作,比如返回选定的文字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP