<b>Swing 中的声音</b>[Java编程]
本文“<b>Swing 中的声音</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
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 管理器负责将这些名称映射到特定于外观和感受的声音.
您可以从这些名称中手动地成立一个真正但愿支持的事件名称的数组,不过这并非必须的.值得庆幸的是,关于常用的组来说已经有两个系统定义过的设置可以利用,还有一个设置可以用于 Metal 外观和感受.
这些设置供应了一个查找键 AuditoryCues.allAuditoryCues ,它答应您从 UI 管理器查找实用于全部声音的数组.一旦您查找了这个数组,便可以用 AuditoryCues.playList 键将其存储在 UI 管理器中,以下所示:
UIManager.put("AuditoryCues.playList", UIManager.get("AuditoryCues.allAuditoryCues")); |
您还可以利用别的两个查找键: AuditoryCues.noAuditoryCues ,即无声,还有 AuditoryCues.defaultCueList ,它只为四种 OptionPane 设置播放声音提醒,专门用于 Metal 外观和感受.
一旦您改变了 AuditoryCues.playList 设置,便可以利用一组新的声音提醒了.当特定操作发生时,UI 管理器将查抄播放列表,探求与该操作关联的键.UI 管理器接下来将利用这个键来查找要载入并播放的声音文件.假如提醒(cue)数组中不存在任何键,就不会播放任何声音.
假如您不喜好某个声音,可以通过将其提醒名映射到另一个文件来替换它.举例来说,在下面的代码中,您将看到"问题(question)"声音被映射到系统供应的"错误(error)"声音文件:
UIManager.put("OptionPane.questionSound", "sounds/OptionPaneError.wav"); |
这就是在 Swing 程序中播放与预先定义好的操作关联的听觉提醒所触及的全部内容.
以上是“<b>Swing 中的声音</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |