Vous êtes sur la page 1sur 3

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 javax.swing ;

Nous allons devoir modifier la classe maFenetre2.java

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 :
conteneur.add(monBouton);
setContentPane(conteneur);
Test du résultat avec la classe LancerMaFenetre2.java

2. Ajout Zone de texte


On ajoute une zone de texte en faisant référence à la classe JTextField du package
javax.swing.
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 :


conteneur.add(monText);
Test du résultat à nouveau avec la classe LancerMaFenetre2.java
3. Ajout d’un combobox (liste déroulante)
On ajoute le combobox en faisant référence à la classe JComboBox du package javax.swing
JComboBox combo = new JComboBox();
On remplit notre combo avec des éléments : monCombo.addItem("Interface Homme-
Machine");
monCombo.addItem("Systèmes d'exploitation");
monCombo.addItem("Réseaux");
monCombo.addItem("Bases de Données Avancées");
Ajoutons la liste déroulante monCombo à notre “conteneur” avec cette instruction :
conteneur.add(monCombo);
Test du résultat à nouveau avec la classe LancerMaFenetre2.java

4. Ajout d’un Label


L’ajout d’un Label se fait en faisant référence à la classe JLabel du package javax.swing (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 LancerMaFenetre2.java

Partie 02 : Gérer l’agencement des composants


5. Agencement avec le gestionnaire BorderLayout

La classe BorderLayout du package java.awt 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();
conteneur.setLayout(MonBorderLaouyt);
Et modifier l’ajout de touts les composants de cette façon :
conteneur.add(monBouton,MonBorderLaouyt. WEST);
conteneur.add(monBouton2,MonBorderLaouyt. EAST);
conteneur.add(monText,MonBorderLaouyt. NORTH);
conteneur.add(monCombo,MonBorderLaouyt. SOUTH);
conteneur.add(monEtiquette,MonBorderLaouyt.CENTER);

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 LancerMaFenetre2.java

6. Agencement avec le gestionnaire BoxLayout


Le gestionnaire de composant BoxLayout est une classe du package javax.swing. 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);
conteneur.setLayout(MonBoxLaouyt);
et on changeant l’ajout des composants comme pour le bouton monBouton1 :
conteneur.add(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 LancerMaFenetre2.java

Vous aimerez peut-être aussi