Utiliser des boîtes de dialogue

Les boîtes de dialogue constituent une façon simple et élégante d'interagir avec l'utilisateur d'un programme. La classe JOptionPane offre divers types de boîtes de dialogue dont l'utilisation est illustrée dans l'exemple suivant. Essayez-le!

import javax.swing.JOptionPane;
 
public class DemoDialogue {
    
    public static void main( String args[] ) {
        
        ////////////////////////////////////////////
        // Boîte de dialogue de type message      //
        ////////////////////////////////////////////
 
        // titre et icône par défaut
        JOptionPane.showMessageDialog(null,
                "Les chiens aboient, la caravane passe.");
 
        // avec titre et icône spécifiée
        JOptionPane.showMessageDialog(null,
            "Les carottes sont cuites.", "Attention !",
            JOptionPane.WARNING_MESSAGE);
 
        JOptionPane.showMessageDialog(null,
            "Vous êtes mort.", "Erreur fatale", JOptionPane.ERROR_MESSAGE);
 
        // sans icône
        JOptionPane.showMessageDialog(null,
            "Les chiens aboient, la caravane passe.",
            "Proverbe arabe", JOptionPane.PLAIN_MESSAGE);
 
        ////////////////////////////////////////////
        // Boîte de dialogue de type confirmation //
        ////////////////////////////////////////////
 
        int reponse = JOptionPane.showConfirmDialog(null,
            "Croyez-vous vraiment au Père Noël?", "Question stupide",
            JOptionPane.YES_NO_CANCEL_OPTION);
 
        // traitement de la réponse
        switch (reponse) {
            case JOptionPane.YES_OPTION:
                // ...
                break;
            case JOptionPane.NO_OPTION:
                // ...
                break;
            case JOptionPane.CANCEL_OPTION:
                // ...
                break;
            case JOptionPane.CLOSED_OPTION:
                // ...
                break;
        }
 
        ////////////////////////////////////////////
        // Boîte de dialogue à options            //
        ////////////////////////////////////////////
 
        Object[] options = {"Mmmmouuiii...", "Beuark !",
            "Sont à quoi tes chaussons?", "J'ai pas d'argent."};
 
        reponse = JOptionPane.showOptionDialog(null,
            "Un chausson avec ça?", "Question de bouffe",
            JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,
            null, options, options[1]);
 
        // traitement de la réponse
        switch (reponse) {
            case 0:
                // ...
                break;
            case 1:
                // ...
                break;
            case 2:
                // ...
                break;
            case 3:
                // ...
                break;
            case JOptionPane.CLOSED_OPTION:
                // ...
                break;
        }
 
        ////////////////////////////////////////////
        // Boîte de dialogue à entrée de données  //
        ////////////////////////////////////////////
 
        String nom = JOptionPane.showInputDialog(null,
            "Entrez votre nom:");
 
        // genre "combo box"
        Object[] animal = {"Boa constructeur", "Cochon dingue",
            "Rhinoféroce", "Pingouin Linux"};
        Object choix = JOptionPane.showInputDialog(null,
            "Choisissez un animal", "Zoo virtuel",
            JOptionPane.INFORMATION_MESSAGE, null, animal, animal[0]);
   }
}