Does JavaFX have a "native look and feel" option like Swing?


It's been a couple of years since I've done any Java work, my last efforts were using Swing. I'm poking around with a cross-platform client app that will interact with a Rails web service. JavaFX is one of the options I'm considering, but I'm concerned at the out-of-the-box aesthetic. Does JavaFX have a native look and feel option for the JavaFX controls (not Swing)?

I'm getting the impression that if I want to build a line of business application in Java, I should probably stick with Swing which is a shame since I like some of the features of JavaFX like binding, a terse syntax, and easy support for REST client programming.

6/3/2010 5:39:21 PM

Accepted Answer

I haven't see that. At best, you can use the extensive support of CSS styling we got with 1.3 to mimic native look and feel, but that's a big job! Not even sure how to deal with various themes we got on modern systems...
I suppose the point of RIAs is to bring their own look or to be flexible enough to allow to do your own shinny look, not to look like a random bland application on your platform... :-)

(Now, if I like skinnable applications, I also appreciate GUI frameworks using native controls or looking as such, like Qt (vs. GTK+ for example), precisely to provide good old "bland" applications not breaking user experience.)

6/10/2010 2:36:20 PM

JavaFX 2.0 has only one Look by default that is called "Caspian". With Java 8 a second one will be introduced, called "Modena". Both are cross-platform Look&Feels. At the moment some developers create native Styles for JavaFX as OpenSource projects. You can find an overview here:

If you are interested in the Mac OS L&F (AquaFX) for JavaFX, here are some posts with previews:

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow