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 屬性來控制的,如下所示:
- 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 管理器負責將這些名稱映射到特定于外觀和感覺的聲音。
【編輯推薦】