Question

Mon code JOptionPane est le suivant:

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

Ceci rend une entrée avec une zone de texte et un bouton OK et Annuler. Je dois détecter si vous avez cliqué sur Annuler.

A bientôt.

Était-ce utile?

La solution

Vérifiez si selectedSiteName == null.
Ce sera le cas si l'utilisateur clique sur Annuler ou ferme la boîte de dialogue.

Autres conseils

Lisez l'API JOptionPane et suivez le lien vers le didacticiel Swing sur " Comment utiliser les dialogues " pour un exemple de travail.

if(selectedSiteName == JOptionPane.CANCEL_OPTION)
{


}

devrait fonctionner.

JOptionPane étend JComponent.

Méthodes de JOptionPane
1) .showMessageDialog (); // VOID :-(
2) .showInputDialog (); // retourne STRING :-)
3) .showConfirmDialog (); // return int :-)
- > et plus encore ...

Exemple:

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);

    }

Lien utile:
- Pourquoi JOptionPane.getValue () continue-t-il à renvoyer une valeur non initialiséeValue
- https://docs.oracle.com/javase /7/docs/api/javax/swing/JOptionPane.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top