SwingStates is a library that adds state machines and a powerful canvas widget to the Java Swing user interface toolkit. SwingStates is useful to modify interaction with existing Swing widgets or to build new widgets using SwingStates' canvas.
We successfully used Swing States for a minor feature enhancement. Has a nice debugging GUI. Deducting one star because 1) project roadmap isn't clear and 2) owners haven't responded to reported bugs. Documentation and examples are good for an young open source project.