tasto di scelta rapida Java JOptionPane.showConfirmDialog
-
24-10-2019 - |
Domanda
Io sono la visualizzazione di una finestra di conferma in Java utilizzando JOptionPane.showConfirmDialog. La finestra di dialogo mostra un Sì Nessuna conferma per l'utente. Questo si chiama come segue:
int result = JOptionPane.showConfirmDialog(sessionObjects.getActiveComponent(),
"Are you sure you want to exit?", "My App", JOptionPane.YES_NO_OPTION);
La domanda è come questo è un semplice conferma, può l'utente preme y per Sì e n per no? Allo stato attuale l'utente deve fare clic sui pulsanti?
Grazie,
Andez
Soluzione
È già "tasti di scelta rapida" (mnemonica) per i pulsanti: Alt + Y per "sì" e Alt + n per "No".
Si può anche colpire Tab per passare da loro e Spazio stampa.
Altri suggerimenti
C'è un'altra possibilità più semplice: è possibile premere alt in un programma e poi rilasciarlo in uno stesso modo:
public static void pressAlt(){
try {
Robot r = new Robot();
r.keyPress(KeyEvent.VK_ALT);
} catch (AWTException ex) {
Logger.getLogger(ManualDetection.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void releaseAlt(){
try {
Robot r = new Robot();
r.keyRelease(KeyEvent.VK_ALT);
} catch (AWTException ex) {
Logger.getLogger(ManualDetection.class.getName()).log(Level.SEVERE, null, ex);
}
}
poi, quando si chiama:
pressAlt();
int confirm = JOptionPane.showConfirmDialog(... bla bla bla ...
,JOptionPane.YES_NO_OPTION);
releaseAlt();
il comportamento è esattamente lo stesso, come desideravi ...
No, ma è possibile creare il proprio JDialog che potrebbero farlo.