AuditoryCuesでイベント音を設定する
Total: 8860
, Today: 3
, Yesterday: 1
Posted by aterai at
Last-modified:
概要
UIManager
にAuditoryCues.playList
を設定して、ダイアログが開いた時の警告音などを鳴らします。
Screenshot
Advertisement
サンプルコード
Object[] optionPaneAuditoryCues = {
"OptionPane.errorSound",
"OptionPane.informationSound",
"OptionPane.questionSound",
"OptionPane.warningSound"
};
// UIManager.put(
// "AuditoryCues.playList",
// UIManager.get("AuditoryCues.allAuditoryCues"));
// UIManager.put(
// "AuditoryCues.playList",
// UIManager.get("AuditoryCues.defaultCueList"));
// UIManager.put(
// "AuditoryCues.playList",
// UIManager.get("AuditoryCues.noAuditoryCues"));
UIManager.put("AuditoryCues.playList", optionPaneAuditoryCues);
View in GitHub: Java, Kotlin解説
上記のサンプルでは、デフォルトではすべて再生しないように設定されている聴覚フィードバックを、JOptionPane
でダイアログを開いた場合のみ有効になるように変更しています。
showMessageDialog1
LookAndFeel
デフォルトの音が鳴る(LookAndFeel
にデフォルトの音が無い場合は鳴らない)WindowsLookAndFeel
では、「コントロールパネル」「サウンドとオーディオデバイスのプロパティ」で、プログラムイベントが設定されている場合は音が鳴る
showMessageDialog2
- 別途用意した
wav
ファイルを再生する UIManager.put("AuditoryCues.playList", UIManager.get("AuditoryCues.noAuditoryCues"))
として、二重に鳴らないように制限
- 別途用意した
MetalLookAndFeel
やMotifLookAndFeel
では以下のようにMessageDialog
のイベント音の変更が可能UIManager.put("OptionPane.informationSound", "/example/notice2.wav");
参考リンク
- Swingコンポーネントの音声フィードバック - Java™ SE 1.4でのSwingの変更点および新機能
- Merlinの魔術: Swingのオーディオ
- "taitai studio" フリーWav素材集
- Beep音を鳴らす
- MIDIファイルの演奏
- Wavファイルの演奏