Introducing FXML

Introducing FXML

I was just given notice that we were allowed to share an internal FXML document originally written by Greg Brown, a member of the JavaFX controls team. What follows is a painfully slow (and very labour intensive!) PDF to HTML conversion We’ve updated the document, and instead of re-translating it every time, I will now just be posting the PDF file directly. If you find any mistakes, please leave a comment (or email me), and I’ll update the document. I also have to add the normal disclaimers: this is a draft document, and it is likely that it may change leading up to the GA release of JavaFX 2.0. With that out of the way, read on and enjoy! 🙂

Download the latest 'Introducing FXML' document

In case you’re wondering what FXML is, FXML is a scriptable, XML-based markup language for constructing Java object graphs. It provides a convenient alternative to constructing such graphs in procedural code, and is ideally suited to defining the user interface of a JavaFX application, since the hierarchical structure of an XML document closely parallels the structure of the JavaFX scene graph.

JavaFX links of the week, August 1

Another month down, leaving only two months until JavaOne 2011. Of course, the big news last week was the release of Java 7. Besides that, there are some good links this week (as always!), so let’s get into the rest of this weeks links 🙂

  • JavaFX 2.0 beta b37 was released, to enable developers another weeks worth of access to FXML, the XML-based markup language for (optionally) creating JavaFX user interfaces. It’s optional because you are by no means forced to build UIs in FXML – you can continue to freely use Java, or indeed, any JVM-based language. It’s just another option for those of you that like using XML for UI layout, and certainly it is a great format for tooling support and UI interchange.
  • GroovyFX continues to flourish with improved support for JavaFX 2.0 and improved GroovyFX documentation. I have to wonder, are any other JVM-based languages doing similar? Get in touch with me if  you are working on something!
  • There is a brief video on YouTube with Jim Weaver presenting about ‘JavaFX in the real world‘. Of note is that Jim makes use of Grezi in his presentation, which I have linked to in previous weeks.
  • At OSCON/Java, Jim Weaver promised to make available the source code for his EarthCubeFX application, which is a port of his original EarthCube application from JavaFX 1.3 to use the latest 2.0 beta builds. You’ll also note that he has a YouTube video which demonstrates EarthCubeFX running on Mac OS X.
  • Jonathan (not me) has blogged over at The Java Tutorials’ Weblog about the top five docs to introduce yourself to JavaFX 2.0.

That’s all folks! I hope you found something useful in the links above, and as always: keep up the great work, blog about what your discovering, and feel free to contact me with any links of interest! Catch you all in a weeks time 🙂


JavaFX 2.0 beta build 37 available now

We’ve just rolled out another JavaFX 2.0 beta build (build 37) to get you access to FXML as quickly as possible (rather than wait until next weeks b38 release).

FXML is a scriptable, XML-based markup language for constructing JavaFX user interfaces. It is an alternative option for building your user interfaces, in addition to using Java, or any other JVM-based language (or a wrapper like GroovyFX). To quote the JavaOne session abstract on FXML: “The hierarchical structure of an XML document closely parallels the structure of the JavaFX scene graph, making it easy to visualize the resulting output. Event handlers can be written with any JVM-compatible scripting language, such as JavaScript, Groovy, or Clojure. Additional features include on-the-fly localization, dynamic data binding, and code modularization.”

Whilst we rolled out b37 as soon as we could to get you access to FXML, we are still working on a sample of how to use it – and this will be in the next public beta build. Additionally, we are busily working on plenty of documentation on how to use FXML which will become available in our documentation area as soon as it is ready. Who knows, if there is enough pleading in the comments on this blog post, maybe I can try to get someone to write a blog post here about the wonders of FXML 🙂

Of course, along with b37 including FXML, it also contains a weeks worth of bug fixes, performance tweaks and necessary API changes (based in no small part on your feedback to our Jira tracker). As always, I look forward to hearing your feedback on this latest release. The best place to discuss JavaFX 2.0 is at the OTN forum, where many of the JavaFX team lurk. However, file your bug reports / request for enhancements directly to our Jira tracker if you want to maximise your chances of being heard!

JavaFX links of the week, July 25

Here we go again – yet another intro to a blog post series that hasn’t changed much at all in the years it has been running (both here and on my personal blog)! For that reason, let’s just jump into the links (which, lets admit it, is the real reason you’re here). Enjoy! 🙂

Also, I thought I’d link to the JavaOne conference sessions, which are now published online. For those mostly interested in JavaFX, you might want to refine the search criteria to the Java SE track. Additionally, a tutorial has appeared online recently that details MigLayout. Despite being most commonly used in the Swing world, it has been adapted to numerous other UI toolkits, including SWT and JavaFX. The JavaFX version is available online (but I’d be remiss if I didn’t also mention that the JavaFX SDK comes with the GridPane layout, which may meet your needs).

Keep up all the hard work folks. Catch you all next week.

JavaFX 2.0 beta build 36 available now

A new JavaFX 2.0 beta build has been made available. The main feature of this release are:

  • The worker threading API that Richard has discussed previously.
  • Support for rich text editing (via the new HTMLEditor control)
  • A FileChooser dialog.
  • FXML, which is a scriptable, XML-based markup language for constructing JavaFX user interfaces. Turns out I was wrong on this – we didn’t get this into this build. It will definitely be in the next one however!

In addition, I believe that both the online API docs, as well as the developer documentation, have been updated, and additional tutorials added. These changes may take a short while to be reflected online however are now online.

I recommend that everyone that is working with JavaFX 2.0 beta builds update to the latest build as soon as possible, as that helps to uncover new issues and also reflects the very latest features and functionality. From my understanding the download rate for these beta builds has been huge, so thanks to everyone for testing the beta releases and giving such valuable feedback. I look forward to hearing your feedback on this latest release. The best place to discuss JavaFX 2.0 is at the OTN forum.