TITLE:AuditoryCuesでイベント音を設定する

Posted by terai at 2008-05-26

AuditoryCuesでイベント音を設定する

UIManagerに"AuditoryCues.playList"を設定して、ダイアログが開いた時の警告音などを鳴らします。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

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);

解説

上記のサンプルでは、デフォルトではすべて再生しないように設定されている聴覚フィードバックを、JOptionPaneでダイアログを開いた時には有効になるように変更しています。

  • showMessageDialog1(左)
    • L&Fデフォルトの音が鳴る(L&Fにデフォルトの音が無い場合は鳴らない)
    • Windows L&F では、「コントロールパネル」「サウンドとオーディオデバイスのプロパティ」で、プログラムイベントが設定されている場合は鳴る
  • showMessageDialog2(右)
    • wavファイルで音を鳴らす
    • UIManager.put("AuditoryCues.playList", UIManager.get("AuditoryCues.noAuditoryCues"))として、二重に鳴らないようにしている

metalやmotif L&F では、以下のようにすることで、MessageDialogのイベント音を変更することも出来ます。

UIManager.put("OptionPane.informationSound", "/example/notice2.wav");

参考リンク

コメント