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.
by Jonathan Giles | Aug 18, 2013 | Links
Another week has rolled by, and so have another batch of links. This week is a little quiet, owing mainly to the pre-JavaOne quiet period that seems to happen every year (I’ve been writing this blog for so long patterns do eventually emerge) π Anywho, enjoy! π
- John Malc has published part three of his ‘Developing a Complex Bank Application in JavaFX‘ series of posts, this time focusing on the ControlsFX project. I’m pleased to read that he is happy with all the effort the ControlsFX developers (including myself)Β have put into the javadocs – we really busted our gut to get a top-notch example of how javadoc should be written (although I should note that the current documentation online is for our 8.0.2 developer preview 1 release, so it is a little lower quality than we would normally have in a final release).
- Chris Newland has posted about his Raspberry Pi TFT hack and video glasses, which run JavaFX.
- The tomoTaka blog has an article about writing a WebSocket echo client using JavaFX.
- Modellus 0.4 was recently released. Modellus is a freely available software package that enables students and teachers to use mathematics to create or explore models interactively.
That’s all this week. I’ll catch you all in a weeks time! π
by Jonathan Giles | Aug 11, 2013 | Links
Another week, and not surprisingly another weeks worth of Java desktop links. This week there are a number of new releases and interesting blog posts to read. Enjoy! π
- Daniel Zwolenski has blogged about developing JavaFX applications to work on iOS using RoboVM and Maven.
- Tom Schindl developed support for using LESS in JavaFX. From my naive understanding, LESS is a CSS pre-processor, which allows for a more powerful feature set by giving designers and developers access to variables, mixins, functions, string interpolation, imports, and many other features.
- OpenDolphin 0.8 was released recently, and this release appears to be focused on scaling and production readiness.
- Toni Epple has been working on a tower defense style game using his game engine. He has written six parts so far, covering various aspects of the development process (note the six separate links there).
- JΓΆrn Hameister has posted about SVGPath and PathTransition functionality in JavaFX.
- Felix Bembrick has posted an analysis of JavaFX Canvas versus HTML5Β Canvas.
- The Oracle Technology Network has posted a whitepaper on how ‘Codelse Helps Brittany Ferries Manage Terminal Communications With JavaFX‘.
- Sai Pradeep Dandem has created a JavaFX-based magnifier component, that allows for a subsection of a screen to be magnified when the mouse hovers over it. This code is now in the process of transitioning into the JFXtras project.
- Christoph Nahr has two posts this week. Firstly, he has blogged about his MIME Browser 1.1 being released. Secondly, he has a blog post about JavaFX DPI scaling.
- software4java.com has a blog post about some of the upcoming Java / JavaFX talks at JavaOne that relate to mobile and embedded.
- I blogged about the new SortedList functionality in JavaFX 8.0, and in particular how to use it from the TableView control to allow for users to return a TableView back to an unsorted state (after being sorted).
- I released Scenic View 8.0.0 developer preview 4, which is primarily a fix release to allow it to work on the latest developer preview releases of JavaFX 8.0.
- I also released ControlsFX 8.0.2 developer preview 1, which on top of all the features from earlier releases now also includes native titlebars for dialogs, a SpreadsheetView control, and a new control called HyperlinkLabel. More importantly, this is the first build to work with JavaFX 8.0 b102 and later, as there were changes to the implementation in this release that broke earlier ControlsFX releases.
I hope you all found something worth reading. Catch you all again next week π
by Jonathan Giles | Aug 11, 2013 | ControlsFX
I seem to be on a blogging / open source release roll at the moment, as I’ve got a new release of ControlsFX available today to go with the release of Scenic View I put out the other day. This release of ControlsFX is the first developer preview release of ControlsFX 8.0.2, and contains a number of bug fixes and new features (as always, note that 0.0.x releases in ControlsFX are major releases, despite what the number implies). For those of you playing along at home, ControlsFX is continuing to be developed at breakneck pace – we’ve so far had major releases in May, June, July and now August (we’re apparently marching at around a one-release-a-month beat).
This release was primarily driven due to changes in private API in JavaFX 8.0 b102 and later that causes ControlsFX to no longer work in these releases. Therefore, ControlsFX 8.0.0 and ControlsFX 8.0.1 releases are now effectively deprecated due to this, as they no longer work, and ControlsFX 8.0.2 developer preview 1 requires JavaFX 8.0 b102 or later.
(more…)
by Jonathan Giles | Aug 8, 2013 | Scenic View
Just a really quick post about the availability of Scenic View 8.0.0 developer preview 4. This release is simply to get Scenic View working with the latest release developer preview builds of JavaFX 8.0.
For those unfamiliar with Scenic View, here’s a short blurb: Scenic View is a JavaFX application designed to make it simple to understand the current state of your application scenegraph, and to also easily manipulate properties of the scenegraph without having to keep editing your code. This lets you find bugs, and get things pixel perfect without having to do the compile-check-compile dance.
For those of you who like pictures more than text, here is a (really old) screenshot of Scenic View 1.2.0:

As always, go and download, and leave feedback as a comment in this post! I know there are bugs, but you’re running developer preview code on top of developer preview code – what did you expect?! π
by Jonathan Giles | Aug 4, 2013 | Controls, General
One of the big features I’ve known people have wanted for a long time (hey, I’ve wanted it too!) is support for returning a TableView back to its original, unsorted state after being sorted by the end user. In general the user interaction goes something like this:
- Click on a TableView column header once. Everything sorts in ascending order. Great!
- Click on the same column header again. Everything sorts in descending order. We’re on a roll here!
- Click on the same column again. The sort arrow disappears, and…….nothing π
Of course, what should happen here is that the order of the items in the table should be reset back to their original order, from before the user ever clicked on anything. If you step behind the curtains with me for the briefest of moments, you’ll realise that the only way we can really do this is to of course keep a copy of the list in its original state (or a list of all the changes to the original list, such that we can unwind the changes later on). I never really wanted to do this, as you’re just setting yourself up for failure / pain / bugs / etc. What I always wanted to do was follow the wonderful GlazedLists approach from the Swing days, where the collections themselves became smarter, and the TableView remained mostly* inconsiderate of the type of collection given to it.
(more…)