Menus, toolbar, action et modèle
Exercice 1 - Les Menus
Dans une nouvelle fenêtre JFrame, nous allons ajouter des menus.
-
Créer une barre de menu (JMenubar).
-
Ajouter un menu File (JMenu).
-
Ajouter deux items Open et Save (des JMenuItem)
au menu File (à l'aide de la méthode add()).
-
Puis ajouter le menu File à la barre de menu.
-
Enfin, ajouter la barre de menu à la fenêtre (setJMenuBar()).
Dans un second temps, ajouter un autre menu contenant des boutons à cocher
(JCheckBoxMenuItem). Puis grouper-les (souvenez-vous des
ButtonGroup).
Exercice 2 - La barre d'outils
Dans une nouvelle fenêtre, nous allons ajouter une barre d'outil.
Pour cela, nous allons auparavant créer les boutons contenant des images
pour mettre ceux-ci à l'intérieur de la barre d'outils.
-
Créer une barre de d'outil (JToolBar),
créer trois boutons Cut, Copy et Paste et
ajouter les trois boutons à la barre d'outils, elle-même
placée au nord
(avec un add(toolbar, BorderLayout.NORTH)).
-
Associer (setIcon()) une image (ImageIcon)
à chaque bouton.
(http://developer.java.sun.com/developer/techDocs/hi/repository/)
Dans cet exercice, les boutons n'effectueront aucune action.
Exercice 3 - Action ... Couper
Le but de cet exercice est de manipuler une serie d'actions.
Les actions sont des objets implémentant l'interface Action
(qui hérite de ActionListener) et permettant de
regouper au sein d'un même objet, le traitement, l'icône, les
racourcis clavier, les bulles d'infos, etc.
Il existe de plus la classe AbstractAction qui prédéfinie
un mécanisme de listener permettant d'associer une action à plusieurs
composants swing (boutons, menus).
-
Créer une liste (JList) contenant l'ensemble des arguments de
la ligne de commande, un menu et une toolbar.
-
Créer une action (New) permettant de rajouter une chaîne de caractères
à la liste en demandant à l'utilisateur de saisir la chaîne.
L'action pourra être déclenchée soit par l'intermédaire d'un menu
soit en cliquant sur l'icône de la toolbar.
Utiliser pour cela la classe JOptionPane qui permet d'afficher
une fenêtre de demande à l'utilisateur et une classe héritant
de la classe AbstractAction correspondant à l'action (New).
-
Créer une action (Delete) qui permet de détruire la chaîne sélectionnée
dans la JList.
-
Faire en sorte que l'action (Delete) soit grisé si aucune chaîne n'est
sélectionnée.
Exercice 4 - À la maison ...
Créer une application (le switcher) contenant deux listes verticales
placées à gauche et à droite d'une série de boutons verticaux.
Le premier bouton ("-->") permettra de prendre l'élément
sélectionné de la première liste pour l'insérer dans la seonde
liste. Le second bouton ("<---") fera exactement le contraire.
Rémi Forax - Université de Marne La Vallée