Ultra-lightweight reactive Swing programming with Scala

Reactive programming looks great, but before I knew much about it and when I just wanted an abstraction over swing listeners, I knocked up a reactive-inspired toolkit. This abstracts values that can change, which you can set and which you can get. It also provides a bunch of nice ways to bind listeners in, either purely for their side-effects, or to bond the value of one value to another.

Here’s an example of using it. It’s a tiny swing app with input fields for your first and last name that displays your full name as you type.