SwingStates: adding state machines to Java and the Swing toolkit
نویسندگان
چکیده
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.
منابع مشابه
A portable AWT/Swing architecture for Java game development
Recently, the performance of Java platforms has been greatly improved to satisfy the requirements for game development. However, the rendering performance of Java 1.1, which is still used by about one-third of current Web browser users, is not sufficient for high-profile games. Therefore, practically, Java game developers, especially those who use applets, have to take this into consideration i...
متن کاملIntegrating Gui Prototyping into Uml Toolkit
This paper introduces an extension of UML for modeling GUI prototypes. It presents the UML profile for GUI modeling, its implementation in MagicDraw, and its application to an experimental system. The profile contains stereotypes for the major GUI components that can be found in classic GUI libraries like Java Swing and several helper stereotypes and enumerations. While UML only allows defining...
متن کاملAchieving high and consistent rendering performance of Java AWT/Swing on multiple platforms
Wang et al. (Softw. Pract. Exper. 2007; 37(7):727–745) observed a phenomenon of performance inconsistency in the graphics of Java Abstract Window Toolkit (AWT)/Swing among different Java runtime environments (JREs) on Windows XP. This phenomenon makes it difficult to predict the performance of Java game applications. Therefore, they proposed a portable AWT/Swing architecture, called CYC Window ...
متن کاملFunctionally Modeled User Interfaces
Fruit is a new user interface toolkit based on a formal model of user interfaces. This formal basis enables us to write simple, concise executable specifications of interactive applications. This paper presents the Fruit model and several example specifications. We consider one example (a basic media controller) in detail, and contrast the executable specification style of Fruit with a more tra...
متن کاملJEmacs-The Java/Scheme-based Emacs
JEmacs is a re-implementation of the Emacs programmable text editor. It is written in Java, and uses the Swing GUI toolkit. Emacs is based on the extension language Emacs Lisp (Elisp), which is a dynamicallyscoped member of the Lisp family. JEmacs supports Elisp, as well as the use of Scheme, a more modern statically-scoped Lisp dialect. Both languages get compiled to Java bytecodes, either in ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw., Pract. Exper.
دوره 38 شماره
صفحات -
تاریخ انتشار 2008