TP2 : Ajout de composants visuels & gérer l’agencement des composants
Objectifs :
-Ajouter des composants visuels à votre programme swing.
-Savoir agencer ses composants avec un gestionnaire de composant.
Marche à suivre :
Partie 01 : Ajout de composants visuels
1. Ajout d’un bouton "appui ici !"
Pour pouvoir ajouter le bouton " je suis votre premier bouton !", il nous faut utiliser la classe
JButton du package [Link] ;
Nous allons devoir modifier la classe [Link]
Remarque : le libellé du bouton a été ajouté dés l’instanciation de la classe JButton
JButton monBouton = new JButton("je suis votre premier bouton !") ;
Avant d’ajouter notre bouton, il nous faut notre conteneur de type JPanel : JPanel conteneur =
new JPanel();
Ajoutons le bouton à notre “conteneur” avec cette portion de code :
[Link](monBouton);
setContentPane(conteneur);
Test du résultat avec la classe [Link]
2. Ajout Zone de texte
On ajoute une zone de texte en faisant référence à la classe JTextField du package
[Link].
Ajoutons une zone de texte en initialisant son contenu avec " Saisir un texte " :
JTextField monText = new JTextField("Saisir un texte");
Ajoutons la zone de texte à notre “conteneur” avec cette instruction :
[Link](monText);
Test du résultat à nouveau avec la classe [Link]
3. Ajout d’un combobox (liste déroulante)
On ajoute le combobox en faisant référence à la classe JComboBox du package [Link]
JComboBox combo = new JComboBox();
On remplit notre combo avec des éléments : [Link]("Interface Homme-
Machine");
[Link]("Systèmes d'exploitation");
[Link]("Réseaux");
[Link]("Bases de Données Avancées");
Ajoutons la liste déroulante monCombo à notre “conteneur” avec cette instruction :
[Link](monCombo);
Test du résultat à nouveau avec la classe [Link]
4. Ajout d’un Label
L’ajout d’un Label se fait en faisant référence à la classe JLabel du package [Link] (Le
texte sur le Label a été initialisé dés
l’instanciation) : JLabel monEtiquette = new JLabel("je suis votre premier étiquette ") ;
Sion, nous pouvons aussi définir le texte de notre label en passant par la méthode
setText(String text).
Test du résultat à nouveau avec la classe [Link]
Partie 02 : Gérer l’agencement des composants
5. Agencement avec le gestionnaire BorderLayout
La classe BorderLayout du package [Link] est un gestionnaire de mise en place de
composants, qui permet de répartir sur la surface en cinq zones : “North”, “South”, “East”,
“West”, “Center”.
Modifions notre programme on ajoutant l’ensemble des instructions suivantes définissant le
gestionnaire de composants :
//ajout du gestionnaire de position de composants BorderLayout
BorderLayout MonBorderLaouyt = new BorderLayout();
[Link](MonBorderLaouyt);
Et modifier l’ajout de touts les composants de cette façon :
[Link](monBouton,MonBorderLaouyt. WEST);
[Link](monBouton2,MonBorderLaouyt. EAST);
[Link](monText,MonBorderLaouyt. NORTH);
[Link](monCombo,MonBorderLaouyt. SOUTH);
[Link](monEtiquette,[Link]);
ajouter l’instruction « pack() ; » à la fin de la classe. La méthode pack() de la classe JFrame
permet d’ajuster la taille de la fenêtre de façon à ce qu’elle puisse afficher tous les objets
qu’elle contient.
Test du résultat à nouveau avec la classe [Link]
6. Agencement avec le gestionnaire BoxLayout
Le gestionnaire de composant BoxLayout est une classe du package [Link]. Il sert à
agencer les composants à la suite, soit sur une ligne, soit sur une colonne .
modifions le code de notre programme on ajoutant les instructions suivantes :
//ajout du gestionnaire de position de composants BoxLayout
BoxLayout MonBoxLaouyt = newBoxLayout(conteneur,BoxLayout.LINE_AXIS);
[Link](MonBoxLaouyt);
et on changeant l’ajout des composants comme pour le bouton monBouton1 :
[Link](monBouton);
Remarque : On définit le gestionnaire en lui indiquant qu’il travaille en ligne
(BoxLayout.LINE_AXIS ) ou qu’il travaille en colonne (BoxLayout.PAGE_AXIS)
Test du résultat à nouveau avec la classe [Link]