快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
ccessibleUtils.formatText(resourceBundle,          "Press to {0}", action), vKey)); } JPanel setupRadioButtonSet(String title, JRadioButton[] bs) {     return setupRadioButtonSet(title, Arrays.asList(bs)); } JPanel setupRadioButtonSet(String title, Collection bs) {    JPanel p = new JPanel(new FlowLayout(FlowLayout.LEFT, 20, 10));    AccessibleUtils.setAccessibleValues(resourceBundle, (Accessible)p,      new AccessibleUtils.AccessibleValues(        idGen.nextId("panel"),        null,        "languages",        "=tt",        "Select the desired language"));    AccessibleUtils.setMemberRelationship(p, bs);    p.setBorder(new TitledBorder(title));    addAll(p, bs);    ButtonGroup bg = new ButtonGroup();    addAll(bg, bs);    return p; } void addAll(ButtonGroup g, Collection l) {     for ( Iterator i = l.iterator(); i.hasNext(); ) {       g.add((AbstractButton)i.next());     } }

您可以使用上述助手方法定义如 图 1所示的语言选择单选按钮集,如清单 10 所示:

清单 10. 定义语言选择单选按钮(来自图 1)

protected JComponent createTextFieldDemoUI() {    :     ArrayList buttons = new ArrayList();     StringTokenizer st2 = new StringTokenizer(       "English!French!Spanish!German!Italian!Japanese!Chinese!" +       "Korean!Arabic!Hebrew!Russian", "!");     for ( int i = 0; st2.hasMoreTokens(); i++ ) {       String name = nextToken(st2);       buttons.add(name, setupRadioButton(name,         AccessibleUtils.formatText(rb, "select {0}", name),         (int)name.charAt(0), i == 0));     }     JPanel formBox2 = setupRadioButtonSet("Languages", buttons);    : }

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

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

使用与设置按钮相同的方法将单选按钮设置成可访问的。但是,与按钮不同的是,经 常将单选按钮添加到 ButtonGroup 和 AccessibleRelationSet 中。清单 11 中详细说明 了用来辅助完成这项任务的 AccessibileUtils() 方法:

清单 11. AccessibileUtils 方法

Accessible setMemberRelationship(Accessible group, Accessible member) {     return setMemberRelationship(group, new Accessible[] {member}); } Accessible setMemberRelationship(Accessible group, Accessible[] members) {     return setMemberRelationship(group, Arrays.asList(members)); } Accessible setMemberRelationship(Accessible group, Collection members) {     for ( Iterator i = members.iterator(); i.hasNext(); ) {       Accessible a = (Accessible)i.next();       AccessibleContext ac = a.getAccessibleContext();       if ( ac == null ) {         throw new NullPointerException(          "AccessibleContext cannot be null on an Accessible object"          + formatClassToken(a));       }       AccessibleRelationSet ars = ac.getAccessibleRelationSet();       AccessibleRelation ar =

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