快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
重要组件之间切换,而无须考虑它们在 GUI 布局中的顺序。我们可以将助记符键盘设置用于 javax.swing.AbstractButton 和 javax.swing.JLabel 的子类以及应用程序菜单中的项。助记符通常称为 加速键,因为它 们根据 GUI 内容直接进行工作。

在为您的界面建立了助记符系统之后,用户就可以通过使用 Alt 键和键盘上表示该组 件的助记符键(Alt+键)导航到任何想用的组件上。但是这种设置有一个问题,就是它对 于顶级组件(通常是 JFrame 或 JDialog )而言是全局的。这意味着基本上只有 26 个 唯一值,却要分配给所有菜单和菜单项以及基本的 GUI 内容。在频繁使用的 GUI 上并非 所有组件都可以链接到助记符键,因此您必须确定哪些组件对于用户是最重要的,然后相 应的设置它们。我建议您为菜单项、重要的操作按钮(如 OK 或 Cancel)和 GUI 中每个 逻辑组中的初始组件创建助记符链接,然后让用户跳格到其它每个组件上。

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

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

设置跳格顺序和初始焦点

对于大多数基于跳格的逻辑导航,我建议您将组件按您希望跳格选择的顺序添加到容 器中。您可能希望以相同的方式组织嵌套的容器(即 JPanel )。尽管从上到下、从左向 右(T2B、L2R)的顺序是标准的,但您可能希望建立不同的系统,如基于列排列的系统。 您可以使用方法 JComponent.setNextFocusableComponent(Component c) (或 Java 1.4 中的类 java.awt.FocusTraversalPolicy )来强制规定定制的跳格顺序。 AccessibilityDemo1 GUI说明了一个跳格系统,该系统基于将组件以 T2B、L2R 顺序添加 到容器中。

在定义了跳格顺序之后,您需要确保每个初始组件都在选中其容器时接收到焦点。当 容器接收到焦点时(请参阅 参考资料以获取关于 FocusListener 的更多信息),它应该 向期望的初始组件发出 java.awt.Component.requestFocus() (在 Java 1.4 中是 java.awt.Component.requestFocusInWindow() )。

另一种方法是在窗口激活时设置初始焦点。例如,下列代码将 WindowListener 添加 到 JFrame ,后者在窗口被激活时为 JTextField 请求焦点。

清单 3. 在激活时设置初始焦点

import java.awt.event.*; import javax.swing.*;    : JFrame frame = new JFrame(); JTextField field = new JTextField(); /// field to get initial focus boolean focusSet;    : frame.addWindowListener(new WindowAdapter() {    public void windowActivate() {      if ( !focusSet ) {        field.requestFocus();        focusSet = true;      }    } }

如果您希望将初始焦点设置到按钮而不是 JTextField ,则可以设置 DefaultButton 字段,如下所示:

清单 4. 设置 DefaultButton 字段

import java.awt.event.*; import javax.swing.*;    : JFrame frame = new JFrame(); JButton button = new JButton();    : panel.add(button);    : frame.getRootPane().setDefaultButton(button);

您只需设置初始焦点一次,因为 Swing 始终会将焦点恢复到初始的设置。

可访问性演示

图 1 中显示的可访问性演示 GUI 并不打算完成任何实际工作(即,在该演示背后并 没有功能代码);相反,它的目的是演示大多数 Swing GUI 组件,并向您展示如何将可 访问性信息添加到每个组件。图 1 显示了演示应用程序的一个面板,其中包括几种常用 组件类型,如输入域、单选按钮、复选框和按钮。

图 1. AccessibilityDemo1 的第一幅抓屏

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

注:在这个 GUI 中,所有按钮都使用了助记符(加下划线的字母),因此,它过度使 用了助记符。正如我先前提到的,助记符最好仅

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号