No description
Find a file
2017-12-18 23:02:11 +00:00
docs Automatic manual generation activated. 2017-12-18 23:02:11 +00:00
src/clojurefx Fixed: library can't be used from Boot projects 2017-12-16 05:40:19 +00:00
test/clojurefx Release 0.3.0 2017-08-02 12:18:36 +00:00
test-resources/fxml Release 0.3.0 2017-08-02 12:18:36 +00:00
.hgignore Fixed ControllerGen bug. 2017-08-30 16:28:01 +00:00
.hgtags Added tag 0.3.0 for changeset 8b75d6c935de 2017-08-02 12:18:42 +00:00
.projectile Some extends and fully working declarative scenegraph creation. 2015-01-16 03:27:37 +00:00
LICENSE Release 0.3.0 2017-08-02 12:18:36 +00:00
logo.svg Added Logo. 2017-12-18 15:33:33 +00:00
project.clj Added missing file 2017-12-12 03:09:16 +00:00
README.md 0.4.0 2017-12-10 05:49:14 +00:00

License Clojars Gratipay Flattr this

ClojureFX

[clojurefx "0.4.0"]

A Clojure extension to make working with JavaFX simpler and more idiomatic. It allows you to naturally work with stock JavaFX components through use of extended protocols. Should a feature be missing you can easily extend ClojureFX in your own codebase or just fall back to standard JavaFX methods.

Features

Take a look at the ClojureFX manual.

  • FXML loading and scripting
  • Automatic FXML controller generation
  • Declarative EDN GUI structure compilation
  • Simplified event binding (bind a Clojure function to an event trigger)

Declarative UI programming

(def superbutton (compile [Button {:text "Close"
                                   :action #'close-handler}]))

(compile [VBox {:id "TopLevelVBox"
                :children [Label {:text "Hi!"}
                           Label {:text "I'm ClojureFX!"}
                           HBox {:id "HorizontalBox"
                           :children [Button {:text "OK"}
						              superbutton]}]}])