La classe JOptionPane fournit plusieurs types de boites de dialogue et parmi eux, on trouve la boite de dialogue de saisie qui permet la saisie des données.
permet de saisir une chaîne de caractères ou de choisir parmi une liste JComboBox. Le retour de l'appel de cette fonction est une chaîne de caractères saisie ou un une instance de
si vous utilisez un JComboBox, sinon null dans le cas ou la saisie des données n'est pas valide.
L'affichage du message de dialogue par la classe java.swing.JOptionPane est fournit par la méthode:
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Inputdialog {
public static void main(String[] args) {
JFrame frame = new JFrame("");
String retour = JOptionPane.showInputDialog(
frame, "Entrez votre nom","Boite de dialogue",
JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
}
Sortie
JOptionPane avec un JComboBox
Une autre méthode nous permet de créer une Boite de dialogue contenant une boite combinée de choix JComboBox avec showInputDialog:
Object objet = showInputDialog(Component parent,
Object message,
String titre,
int typeMessage,
Icon icon, // insérer une ImageIcon
Object[] selection, // la sélection de valeurs sous forme d'un tableau de type Object
Object valeurInitiale) // l'objet initiale qui va être affiché
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Inputdialog {
public static void main(String[] args) {
JFrame frame = new JFrame("");
Object[] selection = {1,2,3,4,5,6};
String retour = (String) JOptionPane.showInputDialog(
frame, "Choisissez un indice",
"Boite de dialogue",
JOptionPane.QUESTION_MESSAGE,
null, selection, selection[0]);
System.exit(0);
}
}
Exécution:
Dans cet exemple, le type de message est un QUESTION_MESSAGE donc, le logo sous forme d'un point d'exclamation s'affiche par défaut.
On a fait un cast (String) parce que la méthode retourne un Object.
Ajouter un icone dans showInputDialog
Dans l'exemple précédent, on a mis null au lieu de créer une ImageIcon qui s'affiche à la place de l'icone par défaut. Ce code remplace null par la variable icon:
ImageIcon icon = new ImageIcon("question.png");
Object[] selection = {1,2,3,4,5,6};
String retour = (String) JOptionPane.showInputDialog(frame, "Choisissez un indice",
"Boite de dialogue",JOptionPane.QUESTION_MESSAGE,
icon, selection, selection[0]);
Exécution: