Les boîtes de dialogue de message sont utiles lorsque vous souhaitez informer l'utilisateur d'un message et obtenir une réponse simple (c'est-à-dire un clic OUI ou OK) mais il y a des moments où vous voulez que l'utilisateur donne un peu de données. Peut-être que votre programme veut une fenêtre pop-up pour saisir leur nom ou leur signe astrologique. Ceci peut être réalisé facilement en utilisant le
showInputDialog
méthode du
JOptionPane
classe.
Pour utiliser le
JOptionPaneclasse, vous n'avez pas besoin de faire une instance d'un
JOptionPane
car il crée des boîtes de dialogue grâce à l'utilisation de méthodes statiques et de champs statiques. Il crée uniquement des boîtes de dialogue modales, ce qui est bien pour les boîtes de dialogue d'entrée car, généralement, vous voulez que l'utilisateur entre quelque chose avant que votre application continue de fonctionner.
le
showInputDialog
est surchargée plusieurs fois pour vous donner quelques options sur la façon dont la boîte de dialogue de saisie apparaît. Il peut avoir un champ de texte, une zone de liste déroulante ou une liste. Chacun de ces composants peut avoir une valeur par défaut sélectionnée.
La boîte de dialogue de saisie la plus courante comporte simplement un message, un champ de texte permettant à l'utilisateur de saisir sa réponse et un bouton OK:
le
showInputDialogLa méthode prend en charge la construction de la fenêtre de dialogue, du champ de texte et du bouton OK. Il vous suffit de fournir le composant parent de la boîte de dialogue et le message à l'utilisateur. Pour le composant parent, j'utilise le
cettemot-clé pour pointer vers le
JFramela boîte de dialogue est créée à partir de. Vous pouvez utiliser null ou spécifier le nom d'un autre conteneur (par exemple.,
JPanel) en tant que parent. La définition d'un composant parent permet à la boîte de dialogue de se positionner à l'écran par rapport à son parent. S'il est défini sur null, la boîte de dialogue apparaîtra au centre de l'écran.
variable d'entrée
capture le texte que l'utilisateur entre dans le champ de texte.
Pour donner à l'utilisateur une sélection de choix dans une zone de liste déroulante, vous devez utiliser un tableau de chaînes:
// Options pour la boîte de dialogue comboString []
choix = "lundi", "mardi"
,"Mercredi Jeudi Vendredi";
// Boîte de dialogue d'entrée avec une zone de liste déroulante
String pick = (String) JOptionPane.showInputDialog (this, "Pick a Day:"
, "Boîte de dialogue ComboBox", JOptionPane.QUESTION_MESSAGE
, null, choix, choix [0]);
Comme je passe un tableau de chaînes pour les valeurs de sélection, la méthode décide qu'une zone de liste déroulante est le meilleur moyen de présenter ces valeurs à l'utilisateur. Cette
showInputDialog
retourne un
Objet
et parce que je veux obtenir la valeur de texte de la sélection de zone de liste déroulante, j'ai défini la valeur de retour comme un (
Chaîne
).
Notez également que vous pouvez utiliser l'un des types de message d'OptionPane pour donner à la boîte de dialogue une certaine impression. Cela peut être annulé si vous passez une icône de votre choix.
Si la
Chaînetableau que vous passez à la
showInputDialogLa méthode a 20 entrées ou plus, alors au lieu d'utiliser une zone de liste déroulante, elle décidera d'afficher les valeurs de sélection dans une zone de liste.
Un exemple complet de code Java peut être consulté dans le programme de boîte de dialogue d'entrée. Si vous êtes intéressé à voir les autres boîtes de dialogue que la classe JOptionPane peut créer, jetez un œil au programme de sélection d'options JOptionPane.