Médiaforma

All posts tagged jOptionPane

Par exemple, pour afficher une boîte de dialogue comportant une icône « point d’interrogation », un message de texte et deux boutons personnalisés, vous utiliserez les instructions suivantes :

String[] choices= {"Windows","Mac OSX"};

int reponse=jOptionPane1.showOptionDialog(this, “Quel système d’exploitation utilisez-vous ?”, “Faites votre choix”, JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null, choices, choices[0]);

System.out.println(reponse); // Affichage de l'option retenue

 

 

La valeur 0 ou 1 est affichée dans la console selon le bouton cliqué.

Remarque

Pour connaître le prototype de la fonction showOptionDialog(), allez dans votre moteur de recherche Web préféré et tapez « oracle showoptiondialog ». Voici le résultat :

 

 


Voici le code à utiliser pour créer une boîte de dialogue avec boutons Oui et Non :

int n = jOptionPane1.showConfirmDialog(this, "Voulez-vous continuer ?", "Et maintenant …", JOptionPane.YES_NO_OPTION);

Lorsque l’utilisateur clique sur un bouton, la valeur retournée vaut 0 (premier bouton) ou 1 (deuxième bouton).

Voici le résultat :

 

 

Voici le code à utiliser pour créer une boîte de dialogue avec boutons Oui, Non et Annuler :

int n = jOptionPane1.showConfirmDialog(this, "Voulez-vous continuer ?", "Et maintenant …", JOptionPane.YES_NO_CANCEL_OPTION);

Lorsque l’utilisateur clique sur un bouton, la valeur retournée vaut 0 (premier bouton), 1 (deuxième bouton) ou 2 (troisième bouton).

Voici le résultat :

 

 


Dans un premier temps, double-cliquez sur le bouton A propos et complétez la méthode aProposActionPerformed() comme ceci :

private void aProposActionPerformed(java.awt.event.ActionEvent evt) {
  jOptionPane1.showMessageDialog(this,"<html>Ceci est une boîte de dialogue <br><b>jOptionPane</b>affichée avec la méthode<br><b>showMessageDialog()</b>.</html>");
}

Voici le résultat :

 

 

Comme vous pouvez le voir, l’icône d’information est affichée par défaut.

 

Vous pourriez également utiliser les constantes JOptionPane.WARNING_MESSAGE, JOptionPane.QUESTION_MESSAGE, JOptionPane.PLAIN_MESSAGE ou JOptionPane.INFORMATION_MESSAGE pour afficher respectivement une icône « point d’exclamation », une icône « point d’interrogation », aucune icône ou une icône personnalisée. Dans le dernier cas, vous devez également spécifier l’icône à utiliser.

 

Vous pourriez par exemple afficher un message d’alerte avec l’instruction suivante :

jOptionPane1.showMessageDialog(null, "Ceci est un message d'alerte !", "Alerte", JOptionPane.ERROR_MESSAGE);

Voici le résultat :

 

 

Pour afficher une icône personnalisée, vous utiliserez les instructions suivantes :

ImageIcon icon = new ImageIcon("images/monIcone.jpg");
jOptionPane1.showMessageDialog(this, "Cette boîte de dialogue affiche une icône personnalisée.", "Icone personnalisée", JOptionPane.INFORMATION_MESSAGE, icon) ;

Ici, l’icône monIcone.jpg est placée dans le dossier images, à la racine du projet (c.a.d. dans Multifiches/images).

Voici le résultat :

 

 

Les boîtes de dialogue JOptionPane peuvent également être affichées avec les méthodes suivantes :

  • showConfirmDialog() : boîte de dialogue modale de confirmation avec des boutons Oui et Non.
  • showOptionDialog() : boîte de dialogue modale contenant un titre, une icône, un texte et des boutons personnalisés.
  • showInputDialog() : boîte de dialogue modale permettant de saisir une entrée dans une zone de texte ou dans une liste déroulante. La valeur saisie est retournée par la méthode.

Contrairement aux JDialog, les contrôles JOptionPane sont des boîtes de dialogue prédéfinies du type suivant :

 

 

Chacun des quatre éléments pointés par une flèche peut être personnalisé en utilisant quelques lignes de code.

Nous allons supposer que la frame principale (JFrame Form) a été créée et ressemble à ceci :

 

 

Et nous allons afficher une boîte de dialogue jOptionPane lors du clic sur le bouton A propos.