Travaux Pratiques Interfaces Graphiques
Master 1
TP6, actions (suite)
But du TP
Dans ce TP nous réalisons une implémentation des
fonctions annuler/rétablir (undo/redo) sur un composant texte et
une implémentation de l'interface CaretListener, très
utile pour la gestion d'actions sur les composants textes.
Un mini-éditeur de
texte
1) Créer une fenêtre contenant un champ de saisie de texte
en utilisant les conteneurs appropriés.
2) Munir la fenêtre d'une barre d'outils, permettant à
l'utilisateur de
réaliser les actions suivantes sur le texte :
- copier vers le
presse-papier, une portion de texte
sélectionnée à l'aide de la souris.
- couper, qui
réalise la même action en supprimant la
portion de texte sélectionnée.
- coller, permettant
d'insérer à l'endroit où
se
trouve le curseur le contenu du presse-papier, lorsque celui-ci
contient une
chaîne de caractères.
Pour l'écoute des événements
de changements de position du
curseur sur le composant texte et de sélection de potion de
texte, utiliser un gestionnaire
implémentant l'interface CaretListener. Ces trois
opérations,
comme les suivantes, seront implémentées en utilisant des
Action .
Tenir compte qu'après l'ouverture de la fenêtre de
l'éditeur, il est possible d'insérer le contenu du
presse-papier du système
dans la zone texte, dans le cas où celui-ci est une chaîne
de caractères (utiliser la méthode getSystemClipboard
et
penser à importer le package datatransfer de awt).
3) Implémenter les actions suivantes portant la
zone de saisie de texte
- annuler (undo)
- rétablir (redo)
On pourra utiliser un gestionnaire de type UndoManager() et
implémenter les méthodes vues en cours.
On pourra s'inspirer la trame minimale suivante FenetreEditeur.java, ou mieux,
préférer une architecture MVC (le modèle est le
document associé à la zone de texte).
4) [Pour ceux qui ont fini]
Implémenter les actions permettant de mettre des portions du
texte en gras, en italique ou soulignés. Associer des
icônes
aux actions, construire des menus, un menu contextuel ...
Exemples d'icônes :
d'autres icônes : images.tar