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 属性来控制的,如下所示:
- anager.put("Button.foreground", Color.red);
在这里, Button.foreground 为用户界面属性名,而 Color.red 代表特定的设置。改变了设置之后,所有新的按钮的前景颜色都将是红色。(也有方法可以改变以前创建的按钮的前景颜色。)虽然不同的预置外观和感觉为这些设置提供了缺省值,您还是可以重设它们。
在 J2SE 1.4 下,您可以用类似的方式来启用听觉反馈。您只要了解 UI 属性名和合适的设置就可以了。属性在这里被命名为 AuditoryCues.playList ,设置则为听觉提示名称的一个 String 数组。UI 管理器接下来将把这些名称映射到特定操作发生时将播放的声音文件。
下面将给出系统提供的外观和感觉中所支持的声音列表。它们的名称本身就颇具解释性。
- CheckBoxMenuItem.commandSound
- InternalFrame.closeSound
- InternalFrame.maximizeSound
- InternalFrame.minimizeSound
- InternalFrame.restoreDownSound
- InternalFrame.restoreUpSound
- MenuItem.commandSound
- OptionPane.errorSound
- OptionPane.informationSound
- OptionPane.questionSound
- OptionPane.warningSound
- PopupMenu.popupSound
- RadioButtonMenuItem.commandSound
提供给 AuditoryCues.playList 属性的 String 名称数组就是这样 ― 一个事件 名称的集合。UI 管理器负责将这些名称映射到特定于外观和感觉的声音。
【编辑推荐】