C. RECANATI

IHM Java

Master M1 2005

 

 

TP n¡6

 

 

Exercice 1:

On va créer une application qui 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 (dans le prochain TP) pour afficher des renseignements sur les événements se produisant dans le menu. La barre de menus comportera 3 menus. (Partez si vous voulez de l’exemple de Sketcher vu en cours).

 

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 ~cathy/images : "left.gif","right.gif" et "middle.gif". (Vous n’avez qu’à copier ce répertoire dans votre propre répertoire images). 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)filename est le nom du fichier relativement au répertoire courant. ImageIcon est une sous-classe de Icon et 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. Viennent ensuite un séparateur, puis un sous-menu intitulé Couleurs qui présentera 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 s’intitule ‘Aide’ et se trouve situé complètement à droite sur la barre de menu. (utiliser un composant Glue). Il ne fait rien.

 

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 nommés 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.

 

Exercice 2:

1) Rajouter une ToolBar avec trois icônes (des JButton). Pour que la ToolBar ne soit pas déplaçable avec la souris, utiliser setFloatable.

2) Mettre des tooltips aux boutons de la ToolBar (cf. setToolTipText).