Hi Christian, I am kind of also writing a little GUI application. I also had to make the choice between swing and javafx . I am going with javaFX because I just love the transistion animations and styling with CSS. I actually think that actual APIs of the GUI Components and Event handling look much more promising in javaFX than in Swing.
I also have to admit that that I am not using clojure with javafx. Instead I am glueing the GUI with groovyFX. (I am using clojure on the serverside though) . Have you considered using groovy? As example you could look at https://github.com/canoo/open-dolphin/blob/master/subprojects/demo-javafx/client/src/main/groovy/com/canoo/dolphin/demo/CrudView.groovy lines 47 . 85 . I think that GUI code in Groovy may even be more funky than in clojure. Many Greetings form a bold headed programmer John Am Donnerstag, 6. Dezember 2012 10:19:06 UTC+1 schrieb Christian Sperandio: > > I thank you and Dave for your lights about JavaFX. > You motivated me to continue testing JavaFX. I think my main error is to > try write code in Java and then translate this code into clojure. > > > Chris > > Le 6 déc. 2012 à 01:08, Stephen Compall <stephen...@gmail.com<javascript:>> > a écrit : > > On Dec 5, 2012 6:38 PM, "Christian Sperandio" > <christian...@gmail.com<javascript:>> > wrote: > > And I find that the Clojure code is damaged by the JavaFX inheritance. > You must write :gen-class extends to just display a window. > > There are many things in JavaFX for which documentation suggests > subclassing, but it is entirely reasonable to simply instantiate and call > methods. Keep the API docs handy; they are your friend. > > Even if occasionally you run into BuilderFactory or ill-typed lambda > representations. > > > And when I read documentation about bindings, I thought it was > complicated to make a simple thing (look at watch in clojure). OK, the > JavaFX bindings work but I feel writing code for writing code. > > Fortunately, Clojure has good tools for writing code for writing code. > > > My second bad point for JavaFX, it's about the interactive development. > I love languages like Groovy and Clojure because you can test the code in a > console (GroovyConsole or REPL). Can we do that with JavaFX? > > Yes, absolutely. > > > My main problem is the following: for launching of your JavaFX > application, you have to call the start method in your main. > > Spawning a thread to run start is as easy as (future (.start ...)) in > clojure. Futures are GC-rooted in Clojure, so you can forget the future if > you want. > > > It blocks the current thread and the REPL waits for closing the window. > > Again, the documented approach is not always best; the API provides tools > for customizing initialization. > > > When I read code like callback<TableColumn<Person, String>,XXX<YYYY>>, > sorry but I'm discouraged. > > JavaFX's big problem is that it doesn't use *enough* type parameters, > really. > > I won't call myself a "fan" of JFX, though, because as I recall the > implementation is not yet entirely Free, though most of it is available > under GPL. If I am wrong, though, I encourage you to explore it further. > > -- > Stephen Compall > If anyone in the MSA is online, you should watch this flythrough. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en