2010-12-21 7 views
6

Ilekroć wykazują JOptionPane w mojej aplikacji Swing i wystrzelić sygnał przed nim tak:Java Swing - jak wydobywać sygnał dźwiękowy przed dowolnym JOptionPane?

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

Czy istnieje sposób, aby zastosować pierwszą linię automatycznie do każdego JOptionPane w przypadku zapomniałem napisać go w kodzie ?

+0

Czy na pewno chcesz to zrobić? Sygnał dźwiękowy za każdym razem, gdy wyświetlane jest okno podręczne? – fish

+1

@fish ... Tak, moi użytkownicy są niewidomi, więc chcę, aby usłyszeli beeeeeeeep :) – Brad

+0

Ciekawe, dlaczego java nie ma "\ a" – user489041

Odpowiedz

4

Można utworzyć własną klasę, która ma statyczną metodę showMessageDialogAndBeep(), która wywołuje JOptionPane.showMessageDialog i emituje sygnały dźwiękowe.

+0

Szukałem rozwiązania AlexR, ale nie mogłem go wdrożyć. Użyję wtedy normalnego rozwiązania. Dzięki atamanroman. – Brad

2

void showMessageDialog(Component pC, Object m, String t, int mT) { Toolkit.getDefaultToolkit().beep(); JOptionPane.showMessageDialog(pC, m,t,mT); }

0

zgadzam się z org.life.java i atamanroman. Dodatkowo mogę ci zaproponować następujące rzeczy. Utwórz narzędzie AWTListener i zarejestruj go, używając

Myślę, że ten słuchacz zostanie wywołany w wielu przypadkach, w tym otwarcie okna dialogowego. Musisz więc rozpoznać sprawę i zadzwonić pod numer beep(). Nie próbowałem tego, ale wierzę, że to zadziała.

+0

. Wiem, że to może nie być bezpieczne, ale tego właśnie szukam. Czy możesz podać mi przykład? ... Próbuję zastosować to w JOptionPane.showMessageDialog() lub JOptionPane.showConfirmDialog() – Brad