Swing控件可以提供聽覺反饋
J2SE 版本 1.4 中新增了一項(xiàng)有趣的 Swing 功能。Swing 控件現(xiàn)在可以提供聽覺反饋來對特定事件作出響應(yīng),不過缺省情況下這項(xiàng)功能是禁用的。J2SE 版本 1.4 中新增了一項(xiàng)有趣的 Swing 功能。Swing 控件現(xiàn)在可以提供聽覺反饋來對特定事件作出響應(yīng),不過缺省情況下這項(xiàng)功能是禁用的。新增的這項(xiàng)功能有助于 Swing 控件更好地模仿系統(tǒng)本地操作系統(tǒng)的控件的行為。
Swing 使用一種可插式外觀和感覺(Pluggable Look-and-Feel,PLAF)體系結(jié)構(gòu)。開發(fā)者不必針對不同組件為顏色和字體之類的設(shè)置進(jìn)行硬編碼;取而代之的是,組件將從用戶界面管理器(User Interface(UI)Manager)請求這些設(shè)置。作為開發(fā)者,您可以告訴 UI 管理器要讓用戶看到什么樣的界面;您可以選擇 Windows、Motif 或 Metal 樣式等。UI 管理器接下來就可以實(shí)際告訴每個(gè)組件應(yīng)該如何顯示它自身。對于象按鈕這樣的組件來說,前景顏色是通過設(shè)置 Button.foreground 屬性來控制的,如下所示:
- anager.put("Button.foreground", Color.red);
在這里, Button.foreground 為用戶界面屬性名,而 Color.red 代表特定的設(shè)置。改變了設(shè)置之后,所有新的按鈕的前景顏色都將是紅色。(也有方法可以改變以前創(chuàng)建的按鈕的前景顏色。)雖然不同的預(yù)置外觀和感覺為這些設(shè)置提供了缺省值,您還是可以重設(shè)它們。
在 J2SE 1.4 下,您可以用類似的方式來啟用聽覺反饋。您只要了解 UI 屬性名和合適的設(shè)置就可以了。屬性在這里被命名為 AuditoryCues.playList ,設(shè)置則為聽覺提示名稱的一個(gè) String 數(shù)組。UI 管理器接下來將把這些名稱映射到特定操作發(fā)生時(shí)將播放的聲音文件。
下面將給出系統(tǒng)提供的外觀和感覺中所支持的聲音列表。它們的名稱本身就頗具解釋性。
- 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 名稱數(shù)組就是這樣 ― 一個(gè)事件 名稱的集合。UI 管理器負(fù)責(zé)將這些名稱映射到特定于外觀和感覺的聲音。
【編輯推薦】