2013-07-01 2 views
2

java의 JOptionPane을 사용하여 다양한 유형의 메시지 (예 : 경고, 정보, 질문)에 대해 서로 다른 경고음을 생성하는 방법. Windows OS에서와 마찬가지로 사용자에게 나타난 각 메시지마다 다른 경고음이 들립니다. 현재 경고음을 내기 위해 다음을 사용하고 있지만 매번 경고음이 계속 울립니다.JOptionPane에서 어떻게 다른 신호음을 내 보냅니 까?

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

경고 메시지, 정보 메시지 및 질문 메시지에 대해 다른 경고음을 원합니다. 그것을 할 방법이 있습니까?

답변

1

beep은 기본 운영 체제에서 오디오 신호음을 내도록 요청합니다. Windows와 같은 특정 플랫폼에서는 "기본 사운드"가 재생됩니다. 은`clip`과`ais` 여부를 종료 할 필요는

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

있나요 :

오히려 특정 플랫폼과 인터페이스하지는 않고, 그 전에 대화 상자를 표시하는 해당 사운드 파일을 재생 간단합니다 그러나 나는 그것이 닫혀 야한다고 생각한다. 내 오디오를 리소스에 넣어야 할 필요가 있지만 나중에 응용 프로그램을 패키지화하고 싶습니다. 제대로 작동합니까? –

+0

음 ... 메시지 유형에 따라 오디오를 수동으로 재생해야하는 것으로 보입니다. 그러나 나는 JOptionPane.shwMessageDialog (...);을 작성하고 메시지 타입에 따라 자바가 삐 소리가 날 것을 원한다. 가능한가? –

+0

예, 'Clip # close'를 호출하여 사용중인 리소스를 해제하는 것이 좋습니다. getResource를 사용하면 응용 프로그램을 패키징 할 때 esp로 이동하는 방법입니다. – Reimeus

관련 문제