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.

Announcing Scenic View 8.0.0 Developer Preview 4

Announcing Scenic View 8.0.0 Developer Preview 4

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:

sv120

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?! ๐Ÿ™‚

Returning a TableView back to an unsorted state in JavaFX 8.0

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:

  1. Click on a TableView column header once. Everything sorts in ascending order. Great!
  2. Click on the same column header again. Everything sorts in descending order. We’re on a roll here!
  3. 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…)

JavaFX links of the week, August 5

Hi all – a good number of interesting posts this week. Because I’m running a bit late lets just get right into it! ๐Ÿ™‚

Catch you all next week! Keep up the great work.

JavaFX links of the week, July 29

A very quiet week this week! I guess people are now starting to prepare for JavaOne. I’ve noticed a similar phenomena in past years where things go quiet in the weeks leading up to JavaOne as everyone starts to work on their projects that they will announce and show off in sessions. In any case, enjoy the links below! ๐Ÿ™‚

  • Just a reminder that if you haven’t responded to the JavaFX 2013 survey you should definitely take the two minutes required to fill it in.
  • Arnaud Nouard has posted an update to his Undecorator project, which is a custom styling for stages.
  • Jens Deters has posted an update to his Font Awesome JavaFX support.
  • Jรถrn Hameister has posted about how to create a JavaFX-based lottery wheel. As he says in the post, “This article shows how to use TranslateTransitions, FadeTransitions, Timelines and Timeline chaining to implement a simple lottery wheel where names rotate around a point.”
  • I respun the ControlsFX 8.0.1 release to fix a bug in the PropertySheet control that prevented it working in some cases. You can redownload it from the usual place, or also from Maven Central.

I told you it was a quiet week! ๐Ÿ™‚ Catch you all again in a weeks time.

JavaFX links of the week, July 22

Hi all – welcome to another weeks worth of links! Enjoy ๐Ÿ™‚

  • There is another JavaFX survey that you should definitely consider filling in if you have a spare two minutes. Your input goes straight to the relevant people inside Oracle to help with decision making, etc.
  • Gerrit Grunwald continues to play with JavaFX, Nashorn (JavaScript on the JVM) and XMPP. This week he has implemented support such that he can essentially talk to his Raspberry Pi via XMPP and send it JavaScript code, which it will then compile and run. This JavaScript could in fact be a JavaFX application, given that JavaFX applications can be written in JavaScript (or any JVM-based language).
  • Carl Dea has a post about the printing support coming up in JavaFX 8.0.
  • Benjamin Gale has a post about creating a simple JavaFX MVPย example application.
  • Martin Andersson has a very long blog post (spanning 11 pages!) that details his thoughts on the enterprise side of JavaFX.
  • Heiko Rupp, who works at Red Hat in the Java area on systems management with RHQ and JBoss ON, has written a front end in JavaFX for a RHQ plugin generator.
  • Antoine Mischler has blogged about natural language search in FXML. As stated in the blog post, “This plugin is the result of a collaboration between dooApp and the INRIA (French public science and technology institution). We investigated a new way to automatically recover traceability links between specifications and code elements.” Further on in the post they go on to say “In our work, we introduced a new approach based on the analyze of the UI labels. Our idea is that the specifications lead most of the time to texts displayed to the user in the user interface and that these texts will use a precise domain terminology. Then it’s possible to retrieve the UI label usage in the code, to identify the pieces of code you are looking for!”
  • Mario Torre has started investigating the feasibility of a (modena) style for Swing.

That’s all for this week – catch you all again in a weeks time! ๐Ÿ™‚