Java Swing - Come segnale acustico prima di qualsiasi JOptionPane?
-
12-10-2019 - |
Domanda
Ogni volta che mostro un JOptionPane nella mia applicazione swing sparo un segnale acustico prima che in questo modo:
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog( myFrame, "Message", "Title", JOptionPane.INFORMATION_MESSAGE );
C'è un modo per applicare la prima linea automaticamente a qualsiasi JOptionPane nel caso in cui ho dimenticato di scrivere in codice?
Soluzione
È possibile creare la propria classe, che ha un metodo statico che chiama showMessageDialogAndBeep()
JOptionPane.showMessageDialog
e segnali acustici prima.
Altri suggerimenti
void showMessageDialog(Component pC, Object m, String t, int mT)
{
Toolkit.getDefaultToolkit().beep();
JOptionPane.showMessageDialog( pC, m,t,mT);
}
Sono d'accordo con org.life.java e atamanroman. Inoltre ti posso suggerire quanto segue. Creare AWTListener e registrarlo utilizzando
Toolkit.getDefaultToolkit().addAWTEventListener(listener, eventMask)
Credo che questo ascoltatore sarà chiamato in molti casi, tra cui finestra di apertura. Quindi, non resta che riconoscere il caso e la chiamata beep()
. Non ho provato questo, ma credo che funzionerà.