You are on page 1of 2

Université d’Ibn Khaldoun – Tiaret 3ième année LMD

Faculté des Mathématiques et d’Informatique Module : Interface Homme-Machine


Département d’Informatique Semestre 05

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

1/2
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’istruction « 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 = new BoxLayout(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

2/2

You might also like