Java Swing - Как звучит звуковой сигнал перед любой панелью JOptionPane? - PullRequest
6 голосов
/ 21 декабря 2010

Всякий раз, когда я показываю JOptionPane в своем приложении Swing, перед этим я подаю звуковой сигнал:

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

Есть ли способ автоматически применить первую строку к любой панели JOptionPane, если я забыл написать ее в коде?

Ответы [ 3 ]

4 голосов
/ 21 декабря 2010

Вы можете создать свой собственный класс со статическим методом showMessageDialogAndBeep(), который вызывает JOptionPane.showMessageDialog и подает звуковой сигнал раньше.

2 голосов
/ 21 декабря 2010

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

0 голосов
/ 21 декабря 2010

Я согласен с org.life.java и атаманроманом.Дополнительно могу предложить вам следующее.Создайте AWTListener и зарегистрируйте его, используя

Toolkit.getDefaultToolkit().addAWTEventListener(listener, eventMask)

. Я думаю, что этот слушатель будет вызываться во многих случаях, включая открытие диалога.Так что вам просто нужно распознать дело и позвонить beep().Я не пробовал это, но я верю, что это будет работать.

...