Cet exercice a pour but d'illustrer les possibilités offertes par
SwingStates pour implémenter de nouvelles techniques d'interaction
compatibles avec les widgets Swing. Nous allons voir comment une
interaction de type crossing peut être ajoutée à des widgets de
type JCheckBox et JButton.
CrossingDemo.java. Ce
programme crée une fenêtre, un canvas occupant tout
l'espace disponible et une CStateMachine attachée à ce
canvas.CStateMachine
pour afficher une trace colorée sur le canvas lorsque la souris est
déplacée dessus avec le bouton 1 enfoncé (voir
cette vidéo).JCheckBox et
de JButton, comme dans la figure ci-dessous. Utiliser la
méthode setGlassPane de la classe JFrame et
les méthodes setOpaque et setVisible de la
classe Canvas pour que le canvas soit placé dans
le glass
pane de la fenêtre et que son fond soit transparent.
JStateMachine qui permette de détecter les
interactions de type crossing sur les widgets de
type AbstractButton. Faire en sorte que cette machine
appelle la méthode doClick du bouton concerné lorsqu'un
franchissement est détecté. Attacher une instance de cette classe à la
fenêtre. Cette vidéo illustre le
résultat à obtenir.JCheckBox pour
mieux comprendre ce qui se passe lorsque la souris est déplacée avec
le bouton enfoncé au-dessus d'elles.