C. Recanati
Master Info 1ère année
InHM, 2012

TP n° 6

Exercice 1 (reprendre l’exercice 2 du TP5)

Exercice 2 (suite du programme Sketcher vu en cours et en TP)
On va poursuivre l’application pour qu’elle affiche une fenêtre comportant une barre de menus et, en dessous, une zone de texte (JTextArea) pouvant être scrollée (utilisez un JScroolPane). La zone de texte ne sera pas éditable mais on s’en servira plus tard pour afficher des renseignements sur les événements se produisant dans le menu. La barre de menus comportera 3 menus.

1) Le premier menu s’intitule ‘Fichier’, et présente d’abord 3 items affichant respectivement un simple texte (par ex. Ouvrir), un texte (par ex. Sauver) et une icône, et enfin, une icône seule. Vient ensuite un séparateur, puis un dernier item (par ex. Enregistrer). On trouvera des fichiers d’icônes dans le répertoire http://lipn.fr/~recanati/docs/ProgJava/Prog/images (left.gif, right.gif et middle.gif). (Vous n’avez qu’à copier ces fichiers dans un répertoire "images" de votre répertoire de TP ou utilisez d’autres icones que vous trouvez sur Internet). Pour créer un objet Icon (nécessaire au constructeur JMenuItem pour faire des items comportant une icône), on peut utiliser new ImageIcon(String filename) où filename est le nom du fichier relativement au répertoire courant. ImageIcon est une sous-classe de Icon qui se trouve dans javax.swing.

2) Le second menu s’intitule ‘Elements’ et présente d’abord 4 items de type boutons radio intitulés Ligne, Rectangle, Cercle et Courbe. Vient ensuite un séparateur, puis un sous-menu intitulé Couleurs qui présente 3 cases à cocher intitulées Rouge, Vert et Bleu. Faites en sorte que l’on ne puisse sélectionner qu’un bouton radio à la fois (on les ajoute tous à un même ButtonGroup).

3) Le dernier menu appelé ‘Aide’ ne fait rien, mais il se trouve situé complètement à droite sur la barre de menu (utiliser un composant Glue).

4) Tous les menus de la barre de menu possèdent une touche mnémonique. On ajoutera également quelques accélérateurs pour les items du premier menu. On pourra aussi ajouter des mnémoniques aux cases à cocher et aux boutons radio du second menu. Veillez à ce qu’il n’y ait pas de conflits sur les lettres utilisées.

Exercice 3
1) Ajouter une ToolBar comportant trois icônes (JButton). Pour que cette barre d’outils ne soit pas déplaçable avec la souris, utiliser setFloatable. 
2) Mettre des tooltips aux boutons de la ToolBar (avec setToolTipText).