Vous êtes sur la page 1sur 6

TP N° 2 – Java Swing : Gérer la disposition-Boites de messages Departement MI-L3 Informatique

1. Objectifs
Pensez à sauvegarder régulièrement votre travail et à commenter votre code. N’hésitez pas à sauvegarder
les différentes versions, évolutions d’un même projet de manière à pouvoir facilement le réviser ou le
réutiliser par suite.

Dans ce TP nous allons voire deux notions fondamentales qui interviennent dans les interfaces
graphiques :

1. les gestionnaires de disposition (layout manager)


2. Boites de message (la clasee JOptionPane).

2. Les gestionnaires de disposition (layout manager)


Un gestionnaire de disposition est un objet invisible associé à un conteneur (JPanel, JScrollPane,
etc.) ; il se charge du placement et du dimensionnement de chaque composant (JButton, JTextField,
JLabel, etc.) inclus dans le conteneur, lors de l'affichage initial du conteneur ou lors de son
redimensionnement.

1. FlowLayout
Le gestionnaire par défaut pour les JPanel, permet de placer les composants graphiques
séquentiellement de gauche à droite dans l'ordre dans lequel ils ont été ajoutés, il est possible de
spécifier l'ordre d'un composant en utilisant la methode Add du conteneur (JPanel, JScrollPane,
etc), qui a comme paramètres : ❶le composant, ❷un entier qui indique l'ordre de ce composant
dans le conteneur.

2. BorderLayout
Le gestionnaire par défaut pour les fenêtres (JFrames, JApplets et autres windows). Dispose les
composants graphiques dans cinq régions : North, South, East, West and Center.

ILYES Mohammed Bouziane 2017-2018


TP N° 2 – Java Swing : Gérer la disposition-Boites de messages Departement MI-L3 Informatique

3. GridLayout
Permet de positionner les composants graphiques dans des cases de même taille d'une matrice, afin de
crrer un tel gestionnaire, nous utilisons l'un des consructeurs suivants :

GridLayout(int rows, int cols) : permet de créer un gestionnaire GridLayout avec rows lignes et
cols colonnes

GridLayout(int rows, int cols, int hgap, int vgap) : permet de créer un gestionnaire
GridLayout avec rows lignes et cols colonnes et un espacement vertical vgap entre les ligne et un
espacement horizontal hgap entre les colonnes.

4. Autres gestionnaires
1. BoxLayout (présentation en lignes ou colonnes)
2. CardLayout (présentation en pile)
3. GridBagLayout (présentation en grille composite)
4. Absence de gestionnaire de disposition (null ou Absolute).

Pour concevoir des interfaces complexes, vous devez combiner les gestionnaires de dispositions selon
vos besoins.

5. Exercice 01
Créer un nouveau projet :

1. Cliquez sur File ==> New ==>Java Project.


2. Nommer votre projet, par exemple TP2.
3. Créer une fenêtre (cf. TP1), nommer la par exemple Fenetre
4. Attribuer les propriétés principales de la fenêtre :
a. Titre
b. Icône
c. Contrôle (redimensionnement, fermeture, minimisation, agrandissement, etc.)
5. Ajouter un JPanel (nommer le Panel_n) à la région North de la fenêtre,
6. Ajouter un JPanel (nommer le Panel_s) à la région South de la fenêtre
7. Ajouter 5 boutons (JButton) au panneau Panel_n, nommez les respectivement (Plain
message, information, warning, Error, Question)
8. Ajouter 2 boutons (JButton) au panneau Panel_s, nommez les respectivement (Confirm
Dialog, Input Dialog)

6. Exercice 2 : Boites de messages (La classe JOptionPane)


Java propose des boîtes de dialogue standards que l'on peut créer à l’aide des méthodes de la classe
JOptionPane :
1. Les dialogues JOptionPane sont modaux
2. Une boîte de message affiche à l’utilisateur un message et reste affiché tant que l’utilisateur
n’agit pas sur le bouton OK.
3. Elle est construite à l’aide de la méthode showMessageDialog de la classe JOptionPane.
4. Constructeurs
showMessageDialog ( Component parentComponent,
String message,
String title,
int messageType);

ILYES Mohammed Bouziane 2017-2018


TP N° 2 – Java Swing : Gérer la disposition-Boites de messages Departement MI-L3 Informatique
Où :
 Component parentComponent : correspond au composant parent dans lequel la boîte
de message va s’afficher.
 String message : le message à afficher dans la boîte de dialogue.
 String title : permet de donner un titre au dialogue.
 int messageType : un entier qui détermine le type du message à afficher et par
conséquent l'icône correspondante (message générique (sans icone), message d'erreur,
message d'information, message d'avertissement, message de Question), il peut prendre
l'une des valeurs présentées dans le tableau ci-après :

ILYES Mohammed Bouziane 2017-2018


TP N° 2 – Java Swing : Gérer la disposition-Boites de messages Departement MI-L3 Informatique

Exemple :

import java . awt .* ;


import javax . swing .* ;

class MaFenetre extends JFrame {

public MaFenetre () {
super (" Une fenêtre ") ;
setSize (300 , 200) ; }
}

public class BoiteMess {


public static void main ( String args []) {

JFrame fen = new MaFenetre () ;


fen.setVisible ( true ) ;
JOptionPane.showMessageDialog (fen, " Bonjour ") ;
}
}

1. Les boîtes de confirmation

Une boîte de confirmation offre à l’utilisateur un choix de type oui/non. Elle est construite à
l’aide de la méthode showConfirmDialog de la classe JOptionPane.

Exemple :
import java.awt.* ;
import javax.swing.* ;

class MaFenetre extends JFrame {


public MaFenetre () {
super (" Une fenetre ") ; setSize (300 , 200) ; }
}
public class BoiteConf {
public static void main ( String args []) {
JFrame fenetre = new MaFenetre () ;
fenetre.setVisible ( true ) ;
JOptionPane.showConfirmDialog (fenetre , " Voulez-vous continuer ?") ;
}}

ILYES Mohammed Bouziane 2017-2018


TP N° 2 – Java Swing : Gérer la disposition-Boites de messages Departement MI-L3 Informatique

Constructeurs
Pour créer un message de confirmation, on utilise la methode showConfirmDialog de la classe
JOptionPane

int retour = JOptionPane.showConfirmDialog ( fenetre,


"le message",
"le titre",
messageType);
où :

 Fenetre : fenêtre parent dans laquelle s'affiche la boite de message


 Le message : le texte à afficher
 Le titre : titre de la boite de dialogue
 messageType : un entier permet de personnaliser les boutons à afficher, les valeurs
possibles sont les suivantes :

BOUTONS CONSTANTES VALEUR


YES et NO JOptionPane.YES_NO_OPTION 0
YES, NO et CANCEL JOptionPane.YES_NO_CANCEL_OPTION 1
OK et CANCEL JOptionPane.OK_CANCEL_OPTION 2

La valeur de retour (int) permet de déterminer l'option (le bouton) choisi par l'utilisateur :

CONSTANTE (messageType) VALEUR DE RETOUR


JOptionPane.OK_OPTION 0
JOptionPane.YES_OPTION 1
JOptionPane.NO_OPTION 2
JOptionPane.CLOSED_OPTION -1

Les boîtes de saisie


Une boîte de saisie permet à l’utilisateur de faire une saisie de chaîne de caractères :
Elle est construite à l’aide de la méthode de classe showInputDialog de la classe JOptionPane.

Constructeurs
❶ String retour = JOptionPane.showInputDialog( laFenetre,
"le message",
"le titre",
messageType);
❷ String retour = JOptionPane.showInputDialog(laFenetre,
"le message",
"VALEUR INITIALE");

Si retour vaut NUL la saisie n’est pas validée, sinon retour vaut la chaîne tapée par
l’utilisateur.

ILYES Mohammed Bouziane 2017-2018


TP N° 2 – Java Swing : Gérer la disposition-Boites de messages Departement MI-L3 Informatique

Exemple :
String x = JOptionPane.showInputDialog("Enter a value: ");

String x = JOptionPane.showInputDialog("Enter a value: ", 0);

Reprendre le projet précédent, et y ajouter le code nécessaire pour que chaque bouton affiche le
type de message qui correspond à son libellé lorsque l'on clique dessus.

ILYES Mohammed Bouziane 2017-2018

Vous aimerez peut-être aussi