FX Experience Has Gone Read-Only

I've been maintaining FX Experience for a really long time now, and I love hearing from people who enjoy my weekly links roundup. One thing I've noticed recently is that maintaining two sites (FX Experience and JonathanGiles.net) takes more time than ideal, and splits the audience up. Therefore, FX Experience will become read-only for new blog posts, but weekly posts will continue to be published on JonathanGiles.net. If you follow @FXExperience on Twitter, I suggest you also follow @JonathanGiles. This is not the end - just a consolidation of my online presence to make my life a little easier!

tl;dr: Follow me on Twitter and check for the latest news on JonathanGiles.net.

JavaFX links of the week, September 30

Well, JavaOne is over and people are returning back to their home countries, hopefully energised and excited about where Java is heading. For that reason the amount of news this week is understandably light, but nonetheless, let’s get into the news.


  • You can watch the JavaOne Strategy Keynote, JavaOne Technical Keynote and JavaOne Community Keynote videos online now.
  • Jasper Potts has posted a video of the chess robot demonstrated at JavaOne last week. The interesting thing about this chess robot is that it is running with a Raspberry Pi and the software is coded in Java.


  • Hendrik Ebbers has posted slides and details from his talks at JavaOne (along with Claudine Zillmann and Johan Vos). Firstly, Claudine and Hendrik have a post about getting emoji’s into JavaFX applications. Secondly, Hendrik has posted the slides from his “Let’s get wet” talk that he and Claudine presented regarding their AquaFX skin and CSS research. Thirdly, Claudine and Hendrik announced Flatter, which is a new CSS style for JavaFX designed for touch screens and embedded devices. Finally, Johan Vos and Hendrik presented on DataFX, which is “the best way to get real-world data into your JavaFX application”.
  • Michael Hoffer has published a YouTube video summarising his JavaOne tutorial on ‘Creating Amazing Scientific Visualization Tools with JavaFX 8‘. It’s a good (and long) video, and well worth watching.
  • Jim Laskey has blogged about how to implement setInterval and setTimeout JavaFX functions in JavaScript so that they may be used from Nashorn.
  • yWorks have announced yFiles for JavaFX, which is a (commercial) library that allows you to create JavaFX diagramming applications that use the full range of possibilities provided by the JavaFX framework.

Catch you all next week! 🙂

JavaFX links of the week, September 23

JavaOne is underway! If you’re at the conference, have a great week, attend a bunch of sessions, but more importantly enjoy the hallway track. For those of you not at JavaOne, batten down the hatches if you’re on twitter and are trying to get work done this week! 🙂

Catch you all in a weeks time!



At the JavaOne technical keynote just now Richard and Jasper introduced the DukePad – a custom built tablet device powered by a Raspberry Pi and featuring a touch screen, camera, HDMI output, GPIO pins, and more. It is powered with Java and has a custom-built JavaFX user interface.


The DukePad is a Do-It-Yourself, make-at-home tablet computer based on the Raspberry PI and JavaSE Embedded 8. The plans and instructions for building the DukePad are available here, and we’re working with suppliers to make available pre-made kits that can be more easily assembled. The software on the DukePad uses Raspbian Linux as the operating system, and an OSGi-based JavaFX environment. Within this DukePad environment, apps are simple JavaFX OSGi Modules.


Click for bigger image

The DukePad is not a product, it is an open source, freely available set of plans and software for assembling your own tablet using off the shelf components. As such, the quality of the DukePad software environment is demo-quality (although we did strive to write as much real functionality as we could, the realities of demo presentations requires sacrificing time on parts of the applications that are not going to be shown, in favor of smoothing out those parts that will be shown). The code is hosted in the OpenJFX repositories under apps/experiments/DukePad. We hope to see forks of this code (GitHub, BitBucket, whatever you like best) and lots of experimentation and improvement that can be shared.

JavaFX links of the week, September 16

A heap of links this week, with a lot of talk about JavaOne that starts next week. It sounds like it is going to be a great conference, and I wish I could be there (but as noted previously there is a pretty valid reason why I won’t be). Anywho, enjoy the links, and for those going to JavaOne enjoy it – I’ll be following via Twitter and the blogosphere 🙂

That’s a heap of links! 🙂 Keep up the great work, and again, to everyone attending JavaOne: enjoy, and be sure to tweet every detail 🙂

Announcing ControlsFX 8.0.2 Developer Preview 2

The releases of ControlsFX keep rolling out the door! This month we have another developer preview release of ControlsFX 8.0.2 available for download. As usual, this release adds a bunch of bug fixes and new features. The most notable changes in this release include:


  • Support for dates in the PropertySheet control.
  • Support for icon font packs (like Font Awesome and IcoMoon). This is inspired by Jens Deters FontAwesomeFX work, and we look forward to future collaboration with him both inside and outside of ControlsFX.
  • Improved worker progress dialog.
  • Improved ControlsFX sample application to actually work from the command line! 🙂 (Previously it only run if you cloned the repo and run from within an IDE, whoops!)


  • Improved API and continued development of the SpreadsheetView control.
  • Support for fixing any column to the left side of the SpreadsheetView.


  • The introduction of an ActionProxy annotation (to create actions directly by annotating methods) which can be discovered at runtime using the ActionMap class.
  • The introduction of ActionTraits to more cleanly specify the functionality of actions when used in dialogs.
  • The introduction of ActionTextBehavior to more easily specify what text is shown in UI controls when built from an action.
  • Now that we support icon font packs and have an @ActionProxy annotation, we have linked the functionality together, so you can define an Action on a method with a font icon simply as follows: @ActionProxy(text=”Action Text”, image=”@FontAwesome:STAR”)

That is quite a nice list given ControlsFX 8.0.2 developer preview 1 only came out around a month ago! As always, head over to the ControlsFX page to download and learn how to get involved!

In general we encourage people to upgrade to this release, but do warn that of course this release is not as polished as a final release (so therefore the documentation is less complete, and the new API more likely to change). It’s up to you whether you stay on 8.01 or keep up with us 🙂

I can’t conclude without thanking the contributors to this release, including Eugene Ryzhikov, Samir HadzicHenri Biestro, Jens Deters, Ryan Jaeb, and John Malc.

Finally, I know this is a wall of text – I highly recommend you all take a moment and run the HelloControlsFX sample application – in there we try to demonstrate all the functionality, and I think (and hope) you should be fairly impressed 🙂