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, June 6

Now that JavaFX 2.0 beta has been out for a week or two, and a refresh build already published, the number of links we’re starting to see covering what is going on is definitely increasing, as you can see below. As always, feel free to email me any links you want to have included. Right, this is a big post, so let’s get into it!

  • A new JavaFX 2.0 beta build came out this week. I’d recommend to everyone that they update as soon as possible. Just as a heads-up, we’re on a two-weekly cycle for public beta builds, so keep an eye out for new builds as they always include new features, bug fixes and improved performance.
  • Nandini Ramani, Vice President of Development at Oracle (a.k.a my bosses boss), has been interviewed by the Java Spotlight podcast, where she talks about the JavaFX 2.0 beta release.
  • Richard Bair, Jasper Potts and I have been busy here on FX Experience. We’ve talked about Maps in JavaFX 2.0 (using WebView), and introduced the indeterminate CheckBox and SplitPane controls. We’ve also been posting important links immediately, rather than hold them off for the weekly links roundup.
  • Amy Fowler has blogged about the JavaFX 2.0 layout APIs, giving a great introduction to what has changed since JavaFX 1.3. Layout APIs are always a tough nut to crack, but once you do it makes your user interfaces so much easier to build. I highly recommend reading this blog post!
  • Artem Ananiev has posted a good introduction to the JFXPanel component, which allows for embedding JavaFX nodes into a Swing application.
  • Tom Eugelink has published his MigLayout port for JavaFX 2.0 to Java.net, where it is published under the Apache 2.0 license. Note that in addition to this MigLayout project, JavaFX 2.0 includes a GridPane layout that is also very functional.
  • The Silicon Valley JavaFX users group is running another session this week: ‘Hands-on JavaFX Coding in Alternative Languages‘. This talk is being hosted at Oracle HQ on Wednesday, 8th June at 6:00pm. As usual they will be hosting the session online for those of us who can’t attend in person.
  • Jeff Friesen has blogged about ‘Rebooting JavaFX, Part 1‘.
  • A number of people have posted their first impressions of JavaFX 2.0 this week, including Gerbrand van Dieijen and Illya Yalovyy.
  • Lawrence Premkumar has blogged about dynamically setting the side of a TabPane. TabPane is another of the new controls in JavaFX 2.0, which I plan to blog about in more depth sometime soon here.
  • jVel has blogged about using custom cell factories in JavaFX 2.0 (Google translate is used). This is another important topic that I intend to cover in more depth in the future here on FX Experience.

As always, keep up the great work blogging folks, and I’ll catch you again in a weeks time.

SplitPane in JavaFX 2.0

SplitPane in JavaFX 2.0

We’ve introduced a SplitPane control in JavaFX 2.0, and today I thought I’d point out an interesting subtlety in the API. For the longest time our SplitPane API primarily consisted of the normal ‘left’ and ‘right’ (or ‘top’ and ‘bottom’) properties (indeed, the JavaDoc as of today still refers to this API). These were synonomous – if you set ‘top’ and ‘bottom’, they were literally copied to the ‘left’ and ‘right’ code, and our SplitPaneSkin just knew to draw with the items stacked vertically, rather than to lay them out horizontally.

(more…)

Indeterminate CheckBox

Indeterminate CheckBox

The CheckBox in JavaFX can be configured for two states (selected, or not) or three states (selected, unselected, or indeterminate). This indeterminate state is often useful when a checkbox is being used in a TreeView, for example. You might be implementing a tree view showing which features are installed, and need to toggle to an indeterminate state for the branch of some of the children are selected, and some are not.


(more…)

JavaFX 2.0 beta build 30 available now

A new JavaFX 2.0 beta build has been made available. The main feature of this release is that it includes support for working against a 64-bit JVM (although we’re still Windows-only at this stage). Of course, knowing what I know, build 30 is a considerable improvement over build 28, as it has roughly four weeks worth of bug fixes, tweaks, and performance improvements over build 28.

I recommend that everyone that is playing with JavaFX 2.0 beta builds (and from my understanding there has been a huge amount of downloading going on) to 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.

Using JavaFX 2.0 inside Swing applications, by Artem Ananiev

Using JavaFX 2.0 inside Swing applications, by Artem Ananiev

Here’s a good introduction to the JFXPanel component by Artem Ananiev, which allows for embedding JavaFX nodes into a Swing application.

It makes much more sense to use FX content in Swing, because there are so many existing Swing applications and so many exciting FX features. The good news is that using FX in Swing is now possible and, which is more important, officially supported via public API: javafx.embed.swing.JFXPanel. …More

A JavaFX Button and Slider atop a Swing JButton