快速业务通道

增强图形用户界面的可访问性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
创建一个实现 javax.swing.Icon 接口的类,然后将一个现有的图标以及缩放比例作为参数传给这个类的构造函数,再用 java.awt.Graphics2D API绘出该图标的一个新版本,在这个新版本中,其大小已发生了变化,其格式是位图图像格式(参见清单1)。当然,这意味着当一个图标被放大时,该图标的质量会有所损失。不过,这种方法实现起来比构建一个全新的图标工厂要容易得多。而且,对于像复选框和单选按钮这样的一些简单的图标,经放大后其质量依然是可以接受的。

清单 1. 一个图标放大器

/** A class to create a magnified version of an existing icon */ protected class MagnifiedIcon implements Icon {   private Icon icon ;   private double factor ;   public MagnifiedIcon(Icon icon, double factor) {    this.icon = icon ;    this.factor = factor ;   }   public int getIconWidth() {    return (int)(icon.getIconWidth()*factor) ;}   public int getIconHeight() {    return (int)(icon.getIconHeight()*factor) ;}   public void paintIcon(Component c, Graphics g, int x, int y) {    Graphics2D g2d = (Graphics2D)g.create() ;    g2d.translate(x,y);    g2d.scale(factor, factor);    icon.paintIcon(c,g2d,0,0);    g2d.dispose();   }  }

一个可定制的、高对比度的look and feel

清单 2 显示了基于Metal look and feel以及为提供可定制的、高对比度的look and feel而创建的颜色模式的一种通用look and feel的源代码。(从 参考资料下载源代码)

第9行到第16行是装载定义了该look and feel的一些属性的外部资源文件。 这几行代码建立了一个定制的主题,该主题的颜色和字体是以外部文件定义的。

第18行到第20行重写了 MetalLookAndFeel 的一些标准方法,以便将该look and feel的名称、描述和ID也放在外部资源文件中定义。

第22行到第53行修改了该look and feel的UIDefaults,以便通过在外部资源文件中定义的一个缩放比例来放大标准图标。真正的放大工作是由 MagnifiedIcon 这个内部类来做的(第95行到第113行)。

第56行到第92行是这个定制的主题的实现。这些代码首先从资源文件中读出要使用的字体的名称和大小(第64行到第70行)。然后重写 DefaultMetalTheme 的getter方法,以便使用在外部资源文件中定义的颜色和字体。

清单3显示了用于Black on White Look and Feel, Large Fonts的外部资源文件。这个look and feel所使用的字体大小被设置为30(第5行),图标被放大到初始大小的250%(第3行),基本颜色则被设置为黑色和白色(第6行到第15行)。

清单 3. HighContrastLAF.properties:白背景,黑文本

1 name = High Contrast Look And Feel 2. description = Black on white, large fonts 3. iconMagnificationFactor = 2.5 4. fontName = Dialog 5. fontSize = 30 6. backgroundColor = FFFFFF 7. foregroundColor = 000000 8. primaryColor1 = 000000 9. primaryColor2 = FFFFFF 10. primaryColor3 = FFFFFF 11. secondaryColor1 = 000000 12. secondaryColor2 = C0C0C0 13. secondaryColor3 = FFFFFF 14. selectionForeground = FFFFFF 15. selectionBackground = 000000

增强图形用户界面的可访问性(5)

时间:2011-02-07 IBM Yannick Saillet

图 4 显示了这个look and feel的屏幕截图。

图 4.白背景,黑文本

增强图形用户界面的可访问性 - 编程入门网

通过与之相同的方法,您可以创建一个带有白文本、黑背景、普通大小字体的高对比度的look and feel,您只需提供如清单4所示的另一个资源文件。

清单 4. HighContrastLAF.properties:黑背景,白文本

1. name = High Contr

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