Swing控件可以提供听觉反馈

开发 后端
本文介绍Swing控件可以提供听觉反馈,以及介绍Swing 使用一种可插式外观和感觉体系结构。

J2SE 版本 1.4 中新增了一项有趣的 Swing 功能。Swing 控件现在可以提供听觉反馈来对特定事件作出响应,不过缺省情况下这项功能是禁用的。J2SE 版本 1.4 中新增了一项有趣的 Swing 功能。Swing 控件现在可以提供听觉反馈来对特定事件作出响应,不过缺省情况下这项功能是禁用的。新增的这项功能有助于 Swing 控件更好地模仿系统本地操作系统的控件的行为。

Swing 使用一种可插式外观和感觉(Pluggable Look-and-Feel,PLAF)体系结构。开发者不必针对不同组件为颜色和字体之类的设置进行硬编码;取而代之的是,组件将从用户界面管理器(User Interface(UI)Manager)请求这些设置。作为开发者,您可以告诉 UI 管理器要让用户看到什么样的界面;您可以选择 Windows、Motif 或 Metal 样式等。UI 管理器接下来就可以实际告诉每个组件应该如何显示它自身。对于象按钮这样的组件来说,前景颜色是通过设置 Button.foreground 属性来控制的,如下所示:

  1. anager.put("Button.foreground", Color.red); 

在这里, Button.foreground 为用户界面属性名,而 Color.red 代表特定的设置。改变了设置之后,所有新的按钮的前景颜色都将是红色。(也有方法可以改变以前创建的按钮的前景颜色。)虽然不同的预置外观和感觉为这些设置提供了缺省值,您还是可以重设它们。

在 J2SE 1.4 下,您可以用类似的方式来启用听觉反馈。您只要了解 UI 属性名和合适的设置就可以了。属性在这里被命名为 AuditoryCues.playList ,设置则为听觉提示名称的一个 String 数组。UI 管理器接下来将把这些名称映射到特定操作发生时将播放的声音文件。

下面将给出系统提供的外观和感觉中所支持的声音列表。它们的名称本身就颇具解释性。

  1. CheckBoxMenuItem.commandSound  
  2. InternalFrame.closeSound  
  3. InternalFrame.maximizeSound  
  4. InternalFrame.minimizeSound  
  5. InternalFrame.restoreDownSound  
  6. InternalFrame.restoreUpSound  
  7. MenuItem.commandSound  
  8. OptionPane.errorSound  
  9. OptionPane.informationSound  
  10. OptionPane.questionSound  
  11. OptionPane.warningSound  
  12. PopupMenu.popupSound  
  13. RadioButtonMenuItem.commandSound 

提供给 AuditoryCues.playList 属性的 String 名称数组就是这样 ― 一个事件 名称的集合。UI 管理器负责将这些名称映射到特定于外观和感觉的声音。

【编辑推荐】

  1. 动态语言是否将会挽救Swing
  2. 用TableModel框架简化Swing开发
  3. Swing模型过滤技术详解
  4. Java Swing开发的一些热点
  5. 使用Swing动态界面设计技术透析
责任编辑:佚名 来源: 51CTO.com
相关推荐

2009-07-15 14:10:26

Swing控件

2012-01-17 14:37:05

JavaSwing

2009-07-16 12:58:50

Swing控件

2009-07-14 14:50:00

JOptionPane

2012-12-07 10:21:39

IBMdW

2009-07-10 13:55:48

Swing控件

2009-07-14 09:52:10

TableModelESwing

2009-07-14 15:39:34

Swing大多数控件

2021-03-04 21:15:52

VRAR索尼

2023-08-22 14:18:49

2009-07-14 15:01:02

AWT和Swing

2009-07-16 08:53:03

Swing任务Swing线程

2009-07-15 15:35:59

Swing程序Swing性能

2024-08-28 08:32:28

2022-05-16 14:22:54

人工智能通信监听

2009-07-10 13:36:32

Swing容器

2011-07-25 10:41:29

2017-04-07 14:42:27

人机界面语音触觉

2009-07-15 15:57:28

AWT或Swing

2009-07-16 16:01:55

EventQueue
点赞
收藏

51CTO技术栈公众号