2

如何在 java 中使用 JOptionPane 为不同类型的消息(例如警告、信息、问题)生成不同的哔声。与 Windows 操作系统一样,出现给用户的每条消息都有不同的哔声。目前我正在使用以下方法生成哔声,但每次都发出相同的哔声。

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

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

4

1 回答 1

1

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

与其尝试与特定平台交互,不如在显示对话框之前播放相应的声音文件更简单:

AudioInputStream ais = 
     AudioSystem.getAudioInputStream(getClass().getResource("/information.wav"));
Clip clip = AudioSystem.getClip();
clip.open(ais);
clip.start();            
JOptionPane.showMessageDialog(...);
clip.close();
于 2013-07-01T13:46:20.367 回答