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

在1.4.2 版之前,J2SE包括了3种可插式look-and-feel (PLAF)设计:

Windows:模仿 Windows 2000 操作系统(由于许可限制,PLAF只能在Windows平台下使用)。

Motif:模仿Motif应用程序。

Metal:使用它自己的独立于任何现有操作系统的look-and-feel。

J2SE 1.4.2 提供了两种附加的look-and-feel 设计。John Zukowski在他的 Merlin的魔力 专栏中的“J2SE 1.4.2 gets two new look-and-feel designs” 一文(参见 参考资料)中描述了这两种设计。这两种新的look-and-feel设计是:

Windows XP:模仿Windows XP操作系统(只能用在Windows平台下)。

GTK+:模仿Linux下的GTK应用程序。

感觉好不如看起来好

对于大多数人来说,应用程序的look-and-feel只不过是一种偏好和欣赏。但是在某些情况下,有必要定制应用程序的look-and-feel,使其使用特定的字体、颜色模式或图标。例如,有些弱视用户常常要求look-and-feel在文本与背景之间具有高对比度,同时还要有大的字体和图标。"IBM Java Accessibility Checklist" (参见 参考资料)规定,一个应用程序中的所有用户界面对象都必须支持高对比度设置。

Java 平台早期的版本对颜色和字体的偏好设置的支持不是很好。从J2SE 1.4开始,尤其是随着J2SE 1.4.2中新的Windows XP 和 GTK look-and-feel设计的引入,用户现在可以配置他们想要的look-and-feel设计。Windows look-and-feel试图使用Windows平台底层的颜色和字体模式,而GTK look and feel则使得Linux用户能够通过定义一些脚本来定制look-and-feel。

乍一看来,“本地的” look-and-feel 设计的改进使得Metal look and feel失去了作用。然而在有些场合中,Metal look-and-feel(或者其定制版本)仍然比较有用。例如:

如果您需要的是能够在任何平台下运行,并且即使是被一个未签名的applet使用时也是可定制的这样一种look-and-feel。

如果您需要更多其他look-and-feel设计不能提供的定制能力。

如果您使用的是Java平台的一个早期版本,而这种版本最近的改进不可用。

本文将解释如何修改Metal look-and-feel,使其使用特定的字体和颜色模式。您还将学习如何修改用于绘制窗口小部件(例如复选框、单选按钮、树以及文件对话框)的图标。

首先我将解释如何重载用于look-and-feel的颜色和字体。接着我们将看看如何修改标准窗口小部件所使用的图标。最后,我们将看一个新look-and-feel的实例,在这个实例中您可以在一个文本文件中定义对颜色、字体和图标大小的设置。以后您就可以使用我们的例子来创建高对比度的look-and-feel。

重载 Metal look and feel —— 修改颜色和字体

javax.swing.plaf.metal.MetalLookAndFeel 类是 Metal look and feel的主类。这个类的Java API 文档(参见 参考资料)表明,这个类中定义的大部分方法都是getter方法,用以返回画Swing框架中提供的不同窗口小部件时所用的颜色和字体。然而,这些getter方法返回值的任务并不是直接在这个类中实现的,而是委托给了另一个类,这个类叫做一个 主题(theme)。主题惟一的作用就是提供要使用的颜色和字体的值。

Metal look and feel 使用一种可插式主题体系结构。这种look and feel 本身 ( javax.swing.plaf.metal.MetalLookAndFeel ) 定义了窗口小部件的外观以及它们对用户交互的反应,而主题则定义在绘制窗口小部件时应该使用的颜色和字体。您可以通过创建一个新的继承 javax.swing.plaf.metal.MetalTheme 的类来定义一种新的主题。

时间: 2024-09-27 23:34:29

增强图形用户界面的可访问性的相关文章

增强网站的可访问性

访问 大多的互连网站都至少支持两个主要的浏览器的访问:Internet Explorer和网景浏览器.为什么呢?因为,如果你选择不支持这些浏览器中的任意一个,你就有可能失去一部分网站的访问者.当然,你希望确保你的网站通过合理的开销能够被尽可能多的人访问到.   保持着这种观点,你是否曾经考虑过你的网站对于有视力障碍的人而言有多大的可访问性?通过使用特殊的网页浏览器,这些有视力障碍的人们就可以自由地浏览网页了.但是,即使是使用最强大的技术支持,它还是不能够给视力障碍的人提供等同于那些非视力障碍人的

改进UCHOME的记录发布,增强可访问性用户体验_javascript技巧

在template里面找到文件space_feed.htm ,将方法 的定义替换为: 复制代码 代码如下: function closeOpt(key,evt) { if (evt.keyCode == 9) { $('message_menu').style.display = 'none'; } else if (evt.keyCode == 13 && (evt.ctrlKey == true || evt.altKey == true)) { poststatus(); $('mo

《渐进增强——跨平台用户体验设计》一1.7 提升Web的可访问性

1.7 提升Web的可访问性 Tim关于Web的看法是:任何Web页面,我们都可以把它看成一个文档.同样内容的文档,我们只需要保留一份就够了.不论用户通过何种浏览器或设备访问,内容是唯一的,不同的只是呈现形式.这样做的好处显而易见--Web世界是由"超媒体"[17]联系起来的庞大网络,我在一个页面中添加了一个超链接,却不能预料到用户是通过什么设备访问并点击的这个链接.如果文档是唯一的,那么入口链接也一定是唯一的.我只需要添加一个链接,用户无论从任何设备点击它,都能获得最佳的访问体验.

利用CSS样式表改善网站可访问性

最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配. 像那时建构的很多网站一样,我的客户的网站使用了Cascading Style Sheets (CSS)来格式化文本.它没有使用任何CSS的更加强有力的版面设计功能,也没有允许HTML设备独立,而这是CSS可访问性的主要优点之一. 问

妙用CSS来改善网站可访问性

css|访问 最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配.   像那时建构的很多网站一样,我的客户的网站使用了Cascading Style Sheets (CSS)来格式化文本.它没有使用任何CSS的更加强有力的版面设计功能,也没有允许HTML设备独立,而这是CSS可访问性的

网站重构:利用CSS改善网站可访问性

css|访问|网站重构   最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配.   像那时建构的很多网站一样,我的客户的网站使用了Cascading Style Sheets (CSS)来格式化文本.它没有使用任何CSS的更加强有力的版面设计功能,也没有允许HTML设备独立,而这是C

改善网站可访问性,通过修改及利用CSS实现

css|访问 一个客户的旧网站需要更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配.   像那时建构的很多网站一样,我的客户的网站使用了Cascading Style Sheets (CSS)来格式化文本.它没有使用任何CSS的更加强有力的版面设计功能,也没有允许HTML设备独立,而这是CSS可访问性的主要优点之一. 问题

利用CSS改善网站可访问性

css|访问  利用CSS改善网站可访问性    作者: BUILDER.COM来源: www.BUILDER.COM类型: 翻译     最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配.     像那时建构的很多网站一样,我的客户的网站使用了Cascading Style She

利用CSS改善网站可访问性(2005-02-21 10:13:09)

css|访问 最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配. 像那时建构的很多网站一样,我的客户的网站使用了Cascading Style Sheets (CSS)来格式化文本.它没有使用任何CSS的更加强有力的版面设计功能,也没有允许HTML设备独立,而这是CSS可访问性的主要