JavaFX: Sexy Interfaces For Mere Mortals

28 04 2008

I will be speaking at JavaOne in San Francisco on Tuesday, May 6, 2008 from 12:10pm – 1:10pm. Below is the abstract for my session.

Joshua Smith

TS-5138 – The JavaFX™ Platform: Sexy Interfaces For Mere Mortals

JavaFX™ Script is a compiled, declarative scripting language that runs on the desktop, in the web browser and on mobile devices. It’s tightly couple with Java™ technology for core application functionality, heavy lifting and libraries. It makes special effects and GUI transitions accessible to people who aren’t graphic artists or know the intricacies of overriding Swing painters and working with the Java 2D™ API affine transformations. JavaFX Script is a perfect user-interface compliment for Java applications.

Throughout the session we’ll look at some powerful language idioms that make special effects, interface transitions and vector graphics accessible to programmers who have not chosen to specialize in advanced Swing and Java 2D. The bind keyword connects model and view and handles two-way propagation of changes. Sequences are a data structure similar to arrays, but allow for things like “all numbers between 1 and 100 that are divisible by 3”. Key-Frame animation is used to “animate” the value of variables over time. A very dynamic user interface is possible when you bind things like position, opacity and radius to these values. Triggers allow functionality that is similar to property change listeners. Transform and morphing features make movement, scaling and shape changes possible in one or two lines of code.

The majority of the session will be spent looking at visually rich examples of what is possible in Java FX Script. We’ll look at examples of image transitions, fade-ins, fade-outs, morphing and a variety of effects. Full source code of all examples will be provided. Come expecting to see lots of code. The techniques demonstrated will be directly applicable to both consumer and business applications.

No prior knowledge of JavaFX Script is required. It is expected that the attendee will have a working knowledge of Java as there will be many comparisons made between how things are done in Java vs. how they are done in JavaFX Script. Basic knowledge of Swing is helpful, but by no means necessary.

JavaOne Speaker




3 responses

25 05 2008
Lucas Jellema

Hi Josh,

I attended your session during javaOne 2008, and I liked it a lot. It was crisp, to the point, had great demos and focused on the key issues for each one of them. Excellent stuff!

I would like to try out some of your demos – and since you had indicated that they would be available at Google Code, I hope you can let me know where exactly I can find them.

best regards,


29 05 2008

I attended your presentation this year at javaone. I was very impressed =) You said you were going to commit your code samples on your google space sometime after the presentation. Can you give a hint when that will be ?

12 06 2008

I will be posting the code soon. I didn’t have legal permission to post the code until recently as I was under a CDA with Sun since I was running under a pre-release of the Java FX runtime.

Sun is supposed to release a preview of the SDK soon. Close to that time I will be posting lots of source code include the snippets in the slides and the source for the demos.

Thanks for the interest. The coding is coming very soon!

Joshua Smith

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: