SwingStates: Adding state machines to Java and 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 Java toolkit designed to facilitate the development of graphical user interfaces and bring advanced interaction techniques to the Java platform. SwingStates is based on the use of finite-state machines specified directly in Java to describe the behavior of interactive systems. State machines can be used to redefine the behavior of existing Swing widgets or, in combination with a new canvas widget that features a rich graphical model, to create brand new widgets. SwingStates also supports arbitrary input devices to implement novel interaction techniques based, for example, on bi-manual or pressure-sensitive input. We have used SwingStates in several Master's level classes over the past two years and have developed a benchmark approach to evaluate the toolkit in this context. The results demonstrate that SwingStates can be used by non-expert developers with little training to successfully implement advanced interaction techniques.
Type de document :
Article dans une revue
Software: Practice and Experience, Wiley, 2008, 38 (11), pp.1149-1182. 〈10.1002/spe.867〉
Liste complète des métadonnées

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

Contributeur : Caroline Appert <>
Soumis le : jeudi 25 novembre 2010 - 10:10:02
Dernière modification le : samedi 22 décembre 2018 - 20:02:06
Document(s) archivé(s) le : samedi 26 février 2011 - 02:31:34


Fichiers produits par l'(les) auteur(s)




Caroline Appert, Michel Beaudouin-Lafon. SwingStates: Adding state machines to Java and the Swing toolkit. Software: Practice and Experience, Wiley, 2008, 38 (11), pp.1149-1182. 〈10.1002/spe.867〉. 〈inria-00538334〉



Consultations de la notice


Téléchargements de fichiers