Travaux Pratiques Interfaces Graphiques
Master 1
TP3, premiers composants AWT et Swing
But du TP
L'objectif est de mettre en
évidence les différences d'apparence entre composants
graphiques
Swing et AWT, de visualiser la profondeur de hiérarchie de
composants et
les stratégies de différents gestionnaires de disposition.
Le programme PremiersComposants.java affiche dans un panneau
à onglets différents composants AWT et Swing. Un tableau
contient les noms de classes des composants graphiques à
afficher, par
exemple :
{"javax.swing.JButton", "java.awt.Button", "javax.swing.JCheckBox",
"java.awt.Checkbox", "PanneauFlowLayout"};
Le programme crée une instance de chaque classe du tableau et
l'affiche dans le panneau à onglets.
Chaque onglet porte le nom de la classe du composant affiché.
Un menu 'Look and Feel' permet de modifier l'apparence de tous les
composants en fonction des Pluggable Look and Feel disponibles sur le
système.
Création de la fenêtre principale
Créer une fenêtre principale (JFrame) affichant un panneau
à onglets (JTabbedPane). L'icône de fermeture permettra de
sortir de l'application en invoquant la méthode System.exit.
Affichage des composants
1) Créer un tableau tabComp formé des noms de classes de quelques
composants graphiques AWT et Swing.
2) Ecrire une méthode
Vector chargeComposants( String [] tableau)
qui renvoie un vecteur d'objets Component, instances de chaque classe
du tableau.
3) Afficher tous les composants du vecteur chargeComposants(tabComp)sur le panneau à
onglets. La chaîne de caractère affichée sur chaque
onglet est le nom de la classe du composant graphique correspondant.
Des conteneurs
1) Ecrire une classe Conteneur représentant un panneau contenant
la hiérarchie suivante de composants :
Utiliser différentes couleurs pour distinguer la profondeur des
composants dans la hiérarchie.
2) Afficher la classe Conteneur dans un panneau à onglet de l'application
PremiersComposants.
Gestionnaires de positions
1) Créer des classes PanneauFlowLayout, PanneauBorderLayout,
..., représentant un panneau, contenant un ensemble de boutons disposés en
utilisant la stratégie de disposition FlowLayout, BorderLayout, ... .
2) Afficher toutes ces classes avec l'application PremiersComposants.
Menu Look and Feel
On désire rajouter à l'application PremiersComposants un menu permettant de sélectionner un Look and Feel et de l'appliquer à tous les composants de l'application.
1) Ecrire une méthode
JMenu creerMenu (JFrame fen)
réalisant les actions
suivantes :
- interroge le système sur les "Pluggable Look-and-feel"
disponibles,
- crée un composant JMenu formé d'un radio bouton par
"Pluggable Look-and-feel" disponible; la sélection d'un bouton change le Look and Feel de tous les composants de la fenêtre placée en argument,
- retourne le composant JMenu.
2) Intégrer ce menu à la fenêtre principale de
l'application PremiersComposants.