Introduction à SwingStates
Reconnaissance de gestes

Cet exercice propose d'utiliser la reconnaissance de gestes dans une interface de dessin très simple :

Récupérer les fichiers InkMachine.java, GestureRecognition.java et vocabulaire.cl. Ce dernier contient un reconnaisseur de gestes. Il permet la reconnaissance de deux gestes : N (point de départ du geste en bas à gauche) et / (geste du bas vers le haut) , associés respectivement aux noms de fonction Nouveau et Effacer.

Dans l'état actuel de la classe InkMachine.java, lorsqu'un geste est reconnu, le nom de la fonction associée est affiché. En modifiant la classe, faire en sorte que lorsque l'utilisateur dessine un N, le programme crée un rectangle ayant pour centre le point de départ du geste tracé.
Faire en sorte que l'on puisse effacer un rectangle en effectuant le geste / dessus (en ajoutant une transition DragOnShape à InkMachine.java, par exemple). Autrement dit, le premier rectangle survolé durant le tracé du geste / est effacé.
La librairie SwingStates fourni un programme pour la création de reconnaisseurs de gestes. Pour l'exécuter à partir d'un terminal, placez-vous dans le répertoire contenant le fichier SwingStates.jar et utiliser la commande :
java -classpath SwingStates.jar fr.lri.swingstates.gestures.Training
Une fois l'application lancée, ouvrir le fichier vocabulaire.cl. Y ajouter deux classes Copier et Coller, choisir deux gestes et entraîner les deux nouvelles classes à l'aide d'une quinzaine d'exemples. Sauvegarder enfin le nouveau reconnaisseur.
Faire en sorte que lorsqu'on dessine les deux gestes créés à l'étape précédente, le programme affiche la fonction associée comme pour Nouveaux et Effacer.
Faire en sorte que l'on puisse copier et coller un rectangle à l'aide des deux nouveaux gestes.