SwingStates: adding state machines to the swing toolkit

Caroline Appert 1, 2 Michel Beaudouin-Lafon 1, 2
1 IN-SITU - Situated interaction
LRI - Laboratoire de Recherche en Informatique, UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR8623
Abstract : This article describes SwingStates, a library that adds state machines to the Java Swing user interface toolkit. Unlike traditional approaches, which use callbacks or listeners to define interaction, state machines provide a powerful control structure and localize all of the interaction code in one place. SwingStates takes advantage of Java's inner classes, providing programmers with a natural syntax and making it easier to follow and debug the resulting code. SwingStates tightly integrates state machines, the Java language and the Swing toolkit. It reduces the potential for an explosion of states by allowing multiple state machines to work together. We show how to use SwingStates to add new interaction techniques to existing Swing widgets, to program a powerful new Canvas widget and to control high-level dialogues.
Type de document :
Communication dans un congrès
Symposium on User interface software and technology, 2006, Montreux, Switzerland. 2006, 〈10.1145/1166253.1166302〉
Liste complète des métadonnées

Littérature citée [12 références]  Voir  Masquer  Télécharger

https://hal.inria.fr/inria-00538387
Contributeur : Caroline Appert <>
Soumis le : lundi 22 novembre 2010 - 13:59:08
Dernière modification le : jeudi 5 avril 2018 - 12:30:12
Document(s) archivé(s) le : mercredi 23 février 2011 - 03:22:34

Fichier

SwingStates_UIST06.pdf
Fichiers produits par l'(les) auteur(s)

Identifiants

Collections

Citation

Caroline Appert, Michel Beaudouin-Lafon. SwingStates: adding state machines to the swing toolkit. Symposium on User interface software and technology, 2006, Montreux, Switzerland. 2006, 〈10.1145/1166253.1166302〉. 〈inria-00538387〉

Partager

Métriques

Consultations de la notice

1099

Téléchargements de fichiers

286