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 :
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
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