Seesaw REPL Tutorial
Written by Eric Normand. Published: December 9, 2011

From OO to Clojure Workshop!
Watch my free workshop to help you learn Clojure faster and shift your paradigm to functional.
Reference: Seesaw REPL Tutorial
Dave Ray has written a commented source listing which guides you through building a simple GUI with Seesaw.
> ; How can we get to the radio buttons without using the rbs var? How about
> ; with a selector:
> (select f [:JRadioButton])
> ;=> (#<JRadioButton ... > #<JRadioButton ... >)
. . .
> ; and, of course, you can register a listener for group selection changes
> (listen group :selection
> (fn [e]
> (when-let [s (selection group)]
> (println "Selection is " (id-of s)))))
I have only done a bit of GUI programming with Java (mostly in college). But rather than giving me flashbacks to that nightmare, Seesaw makes me feel secure that I could face the Swing dragon again.
From the Seesaw readme:
It's an experiment to see what I can do to make user interface development funner in Clojure.