如何为JOptionPane发出不同的声音?

时间:2013-07-01 10:34:40

标签: java swing joptionpane beep

如何使用java中的JOptionPane为不同类型的消息(例如警告,信息,问题)生成不同的蜂鸣声。与在Windows OS中一样,对于向用户显示的每条消息都有不同的蜂鸣声。 目前我正在使用以下方法生成蜂鸣声,但每次都会发出哔哔声。

Toolkit.getDefaultToolkit().beep();
JJOptionPane.showMessageDialog( myFrame, "Message", "Title", JOptionPane.INFORMATION_MESSAGE );

我想要警告信息,信息信息和问题信息发出不同的哔哔声。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

beep向底层操作系统发出请求以发出音频蜂鸣声。在某些平台(如Windows)上,播放“默认声音”。

不是尝试与特定平台接口,而是在显示对话框之前播放相应的声音文件更简单:

AudioInputStream ais = 
     AudioSystem.getAudioInputStream(getClass().getResource("/information.wav"));
Clip clip = AudioSystem.getClip();
clip.open(ais);
clip.start();            
JOptionPane.showMessageDialog(...);
clip.close();