Skip to Main content Skip to Navigation
New interface
Journal articles

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.
Document type :
Journal articles
Complete list of metadata

Cited literature [50 references]  Display  Hide  Download
Contributor : Caroline Appert Connect in order to contact the contributor
Submitted on : Thursday, November 25, 2010 - 10:10:02 AM
Last modification on : Sunday, June 26, 2022 - 11:52:38 AM
Long-term archiving on: : Saturday, February 26, 2011 - 2:31:34 AM


Files produced by the author(s)




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



Record views


Files downloads