Boites de dialogues de la librairie JavaETBib



Les boites de dialogue sont des fenêtres temporaires de format prédéfinies permettant d'afficher un message, de questionner l'utilisateur ou lui permettant de choisir des objets complexes (fichiers, couleurs, polices, dates, etc...). Elles possèdent en général un bouton de confirmation du choix ainsi qu'un autre bouton permettant d'annuler le choix. Dès que l'utilisateur clique sur le bouton de confirmation ou d'annulation, la boite de dialogue disparait.

BoiteDeDialogue.jpg, 24kB

Sous swing, elles sont représentées (entre autres) par les classe JOptionPane (affichage de message, question) et JFileChooser (sélection de fichier). J'ai décidé de ne pas en expliquer l'utilisation, principalement à cause de la lourdeur du code. Par contre, j'ai mis à disposition un certains nombre de méthodes gérant les boites de dialogue en essayant de les rendre plus simple d'utilisation que celles de swing... Ces méthodes se trouvent dans la librairie JavaETBib.

Vous connaissez déjà la méthode AfficherMessage (elle utilise JOptionPane). En voici trois autres.

Confirmation d'un choix

Certaines actions de l'utilisateur sur l'interface graphique peuvent provoquer la perte de données (par exemple la fermeture d'une fenêtre). Pour éviter qu'elles soient déclenchées par mégarde, il est préférable de lui demander une confirmation via une boite de dialogue.

Vous pouvez pour cela utiliser la fonction Confirmation, dont voici l'entête:

 boolean Confirmation (String t, String q, boolean od)

Un appel de cette fonction provoque l'affichage d'une boite de dialogue avec deux boutons libellés Oui et Non. Le premier paramètre est le titre de la boite de dialogue et second est la question posée à l'utilisateur.

Le troisième permet de définir la réponse par défaut: true pour Oui et false pour non.

Le résutat retourné est true si la réponse sélectionnée est Oui .

Voici par exemple la boite de dialogue affichée

Confirmation.jpg, 10kB

avec l'appel suivant:

 es.Confirmation("Confirmation de fermeture",
          "Voulez vous vraiment quitter l'application?", false)

Exemple d'utilisation: voir l'exemple de projet dans la partie du cours concernant la fermeture de fenêtre.

Selection de fichier

Pour simplifier la sélection d'un fichier à l'utilisateur, vous pouvez utiliser une des deux fonctions suivantes:

Ces deux fonctions ouvrent une boite de dialogue qui permet à l'utilisateur de se déplacer dans l'arborescence de fichiers de son ordinateur afin de sélectionner un fichier.

Exemple d'utilisation: voir l'exemple de projet illustrant l'utilisation des barres d'outils.

ChoisirFichierAOuvrir

Entête de la fonction:

  String ChoisirFichierAOuvrir(String c)

Cette fonction affiche une boite de dialogue affichant le contenu du répertoire dont de chemin est c. Le résultat retourné est le chemin absolu du fichier sélectionné. Si l'utilisateur renonce à sélectionner un fichier, le résultat est null.

Voilà à quoi ressemble cette boite de dialogue:

ChoixOuvertureFichier.jpg, 38kB
ChoisirFichierAEnregistrer

Entête de la fonction:

  String ChoisirFichierAEnregistrer(String c)

Même principe que la fonction précédente, sauf que la boite de dialogue présente de petites différences:

ChoixEnregistrerFichier.jpg, 42kB

Les différences se situent au niveau du titre de la boite de dialogue (Enregistrer au lieu d'Ouvrir) et de l'intitulé du bouton (Enregistrer au lieu d'Ouvrir).