JOptionPane: Boite de dialogue Java showOptionDialog

Un autre type de boite de dialogue de la classe java.swing.JOptionPane est OptionDialog. Il peut afficher plusieurs boutons, un message ou un ensemble de composants JButton. Ceci est réalisable avec la méthode suivante:

showOptionDialog(frame, message, titre, typeOption, typeMessage, icon, options, valeurParDefaut), ou:
  • frame: est le Component parent;
  • message: est le message de type String à afficher dans la boite de dialogue;
  • titre: utilisé comme le titre de la boite de dialogue;
  • typeOption: est un entier qui représente le type d'options dans le dialogue. Les code valides sont: YES_NO_OPTION, YES_NO_CANCEL_OPTION, et OK_CANCEL_OPTION;
  • typeMessage: est un entier qui désigne le type de message définis dans la classe JOptionPane: INFORMATION_MESSAGE, WARNING_MESSAGE, ERROR_MESSAGE et PLAIN_MESSAGE;
  • icon: est un icone de type ImageIcon à afficher;
  • options; est un tableaux de choix que l'utilisateur peut effectuer;
  • valeurParDefaut ou valeurInitiale est la valeur à sélectionnée par défaut.
Cet exemple de code implémente une boite de dialogue avec options:

import javax.swing.JOptionPane;

public class OptionDialog {

public static void main(String[] args) {
int retour = JOptionPane.showOptionDialog(null,
"Voulez-vous vraiment continuer?",
"Erreur", 
//JOptionPane yes no
JOptionPane.YES_NO_OPTION,
JOptionPane.ERROR_MESSAGE,
null, null, null);
}
}
Après l'exécution du programme, vous aurez en sortie cette boite de dialogue avec un message d'erreur et deux boutons de choix "oui" et "non". Vous pouvez programmer les événement, par exemple, quand vous cliquez sur le bouton 'non', vous quitter le programme avec System.exit(0):

JOptionPane.showOptionDialog yes no

Controler les boutons dans JOptionPane.showOptionDialog

Si vous voulez ajouter des boutons ou changer des valeurs, vous pouvez le faire en ajoutant un tableau d'objets comme options de choix et choisir la valeur initiale qui va être sélectionner par défaut.

import javax.swing.JOptionPane;

public class OptionDialog {

public static void main(String[] args) {
Object[] choix={"18-25 ans","26-35 ans","36-45 ans","46-55 ans","56 ans et plus"};
int choix = JOptionPane.showOptionDialog(null,
"Quelle est votre tranche d'âge?",
"Tranche d'age",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE,
null, choix, choix[0]);
}
}
Résultat:
JOptionPane.showOptionDialog bouttons

Références:
herongyang: showOptionDialog() - Displaying Option Dialog Boxes
Java Doc: showOptionDialog method