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.