Archives for the month of: June, 2011

Here we go again, with this weeks batch of links. Thanks to the people contacting me with links and praise – it’s all much appreciated :-) Anyway, let’s get into things…

That’s all for this weeks folks. Keep up the blogging and exploring of the Java desktop APIs. Catch you in a weeks time! :-)

Time to hit the Oracle download servers for a brand new build of the JavaFX 2.0 beta. This build brings with it 2 weeks of bug fixes, optimisations and features. If you’re on an older release (b28 or b30), it’s time to get downloading! :-)

Also, thanks to everyone filing bugs and feature requests into our Jira issue tracker. It’s your feedback that we’re using to polish the beta releases. I hope that you’ll keep providing your useful feedback throughout the beta release train.

Another week of JavaFX links – hopefully you all find something of interest. Also, thanks to everyone emailing me links!

That’s all I have for you this week. I’ll see you in a weeks time :-)

I was just going through the bug database and realized that, to my knowledge, we’ve never actually told people what the code names are for our releases, and that that is pretty useful to know when filing bugs. Ever since JavaFX 1.0 we’ve used street or area names from San Francisco as our code names. Honestly I can’t remember the 1.0 code name anymore. 1.2 was called “Marina”, 1.3 was “SoMa” (South of Market).

This release, 2.0, is called “Presidio”, and the next major release is called “Lombard”. So when you see that your issue is targeted at one of these, you know what we’re taking about! If it remains “untargeted”, then it has gone into the pool from which we draw features for future releases, but may not be targeted to a specific release until later in the planning cycle.

Another week, another batch of links. Let’s just get right into it!

  • GroovyFX was announced this week by Jim Clarke, which is a library that makes building JavaFX 2.0 user interfaces easier (when written in Groovy, obviously). The features include a SceneGraphBuilder, TimelineBuilder, bind syntax and a GroovyDSL to support colors, durations, timelines, enumerations, etc. I’m very excited to see alternate JVM languages starting to adopt JavaFX 2.0 now that it is all Java-based.
  • Speaking of alternate JVM languages, here are two blog posts by Emil Kruczek about using JavaFX 2.0 in Clojure.
  • Tom Schindl has taken JavaFX 2.0 for a spin, and thinks that JavaFX 2.0 is looking pretty good, which is kind considering he is an SWT fan. Despite this, he says that “[t]his makes me a bit sorry about SWT because compared to what JavaFX provides to me SWT is light years behind.”
  • In a separate post, Tom blogs about using Xtext to create a JavaFX-CSS editor, which, he theorises, could quite nicely become part of an Eclipse JavaFX 2.0 plugin (along with other Eclipse-based techonologies).
  • Rafał Rusin has blogged about visualising GIS data in JavaFX 2.0 beta using GeoTools.
  • I put up a link to my in-progress JavaFX Control Cell Factories project. Currently you can just check out the (clearly beta quality) screenshots and see what the API looks like (hint: fully static API with a lot of Callbacks – I can’t wait for closures to clean this up!).

That’s all for another week. I hope you all found something useful in the links above. Catch you again in a weeks time, and keep up all the hard work folks!

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.

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…)

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…)

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.

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