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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top