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.
Document type :
Conference papers
Symposium on User interface software and technology, 2006, Montreux, Switzerland. 2006, <10.1145/1166253.1166302>
Liste complète des métadonnées

https://hal.inria.fr/inria-00538387
Contributor : Caroline Appert <>
Submitted on : Monday, November 22, 2010 - 1:59:08 PM
Last modification on : Thursday, February 9, 2017 - 3:53:03 PM
Document(s) archivé(s) le : Wednesday, February 23, 2011 - 3:22:34 AM

File

SwingStates_UIST06.pdf
Files produced by the author(s)

Identifiers

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>

Share

Metrics

Record views

1054

Document downloads

232