Browse files


  • Loading branch information...
1 parent f6a79ce commit a6ab8dde9f05d68e79bee6589877d72460f4cc22 @daveray committed Dec 2, 2011
Showing with 13 additions and 4 deletions.
  1. +13 −4
@@ -4,13 +4,22 @@ There's now a [Google Group] ( for di
# Seesaw: Clojure + UI
-_"killing CamelCase, proxy and reify, one class at a time"_
_*See [the Seesaw Wiki] ( and [the Seesaw API Docs] ( for more detailed docs. Note that the docs in the code (use the `doc` function!) are always the most up-to-date and trustworthy.*_
Seesaw is a library/DSL for constructing user interfaces in Clojure. It happens to be built on Swing, but please don't hold that against it. It's an experiment to see what I can do to make user interface development funner in Clojure. It's kinda inspired by [Shoes](, [Stuart Sierra's Swing posts](, etc. [clojure.contrib.swing-utils]( is useful, but minimal and still means a lot of "Java-in-Clojure" coding.
-_There are numerous Seesaw examples in `test/seesaw/test/examples`._
+## Features
+* Simplified construction of UIs with Swing's layout managers as well as MigLayout, or JGoodies Forms.
+* Convenient shortcuts for most properties. For example, `:background :blue` or `:background "#00f"`
+* CSS-style selectors
+* Simplified event registration
+* Widget binding, i.e. map changes from one widget into one or more others in a more functional style
+* Unified selection mechanism
+* Graphics
+* i18n
+_There are numerous Seesaw examples in [test/seesaw/test/examples](
## TL;DR

0 comments on commit a6ab8dd

Please sign in to comment.