Domanda

Il mio codice JOptionPane è il seguente:

selectedSiteName = JOptionPane.showInputDialog("Enter the name of the new site:");

Questo rende un input con una casella di testo e un pulsante OK e Annulla. Devo rilevare se è stato fatto clic su Annulla.

Saluti.

È stato utile?

Soluzione

Controlla se selectedSiteName == null.
Questo accadrà se l'utente fa clic su Annulla o chiude la finestra di dialogo.

Altri suggerimenti

Leggi l'API JOptionPane e segui il link all'esercitazione Swing su " Come usare le finestre di dialogo " per un esempio funzionante.

if(selectedSiteName == JOptionPane.CANCEL_OPTION)
{


}

dovrebbe funzionare.

JOptionPane estende JComponent.

Metodi di JOptionPane
1) .showMessageDialog (); // VUOTO :-(
2) .showInputDialog (); // ritorna STRING :-)
3) .showConfirmDialog (); // return int :-)
- > e altro ancora ...

Esempio:

void myMethod() {

        JDialog jd = new JDialog();
        jd.setDefaultCloseOperation(1);

        JOptionPane jop = new JOptionPane();
        int val = jop.showConfirmDialog(jd, "Hello");
        if(val == 0) jop.showMessageDialog(null, "Success", "INFO", jop.INFORMATION_MESSAGE);

        System.out.println(val);

        jd.add(jop);

    }

Link utile:
- Perché JOptionPane.getValue () continua a restituire valori non inizializzati
- https://docs.oracle.com/javase /7/docs/api/javax/swing/JOptionPane.html

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