...and they shall know me by my speling errors.

Danno Ferrin (aka shemnon) on stuff that matters to him.

Starting a JavaFX Gradle Plugin

I wanted to get this out there early, since “release early release often” is one of the open source mantras. I have a longer blog post planned on this subject, but I have so many balls in the air right now I’m not sure when I’ll get to write it.

I am starting to write a JavaFX 2.0 Gradle Plugin over at bitbucket. Right now it handles just the fx:jar and fx:deploy ant tasks. And not completely. I don’t have the resources wired into the native bundles. But that will come. I also am not doing binary CSS or Jar signing.

Mirroring OpenJFX on BitBucket

I’ve started mirroring the OpenJFX repositories over at bitbucket. Viewing the repos on bitbucket has several advantages:

  1. It has an easier on the eyes user interface. Really, I could stop here.
  2. The push request mechanism encourages social coding
  3. It has a code review feature

This last point is the most recent one. You can comment on commits and comment at specific lines in the commit. Useful when you have to send a pull request back.


As for the repositories I have four repos right now.

Fashion Forward: Styling Your Controls in JavaFX 2.2

JavaFX is finally delivering on it’s promise (made 5 years) to open source JavaFX. It started last December with the controls code. And now that the JavaFX 8 repos are open we can now look at the internals of JavaFX in a format much more readable than javap decompilations. (The previous statement is not an admission, wink wink nod nod).

One of the questions I had was how the CSS styles are used in a Node. And after looking at some of the innards I realized that I didn’t really care how JavaFX does it, I care about how I can get my control stylized like the built in controls. To demonstrate the CSS stylings, I created DemoTwo in my DeckControl project, allowing you to customize the control via CSS. Only the shelf variants in this demo use the custom properties, the others are just using the built in -fx-skin style to do the switching.

JavaFX, Groovy, and Griffon

Over the weekend the GroovyFX 0.3 libraries were released.  With this domino as well as the release of Griffon 1.0.2 I was able to update my Gr8Conf US presentation on JavaFX use only published libraries, rather than the local snapshots I had been using.

Gr8Cooking Presentation

My first Session at Gr8 US this year talked about JavaFX, Groovy, and Griffon. Having watched too many episodes of Chopped I decided that my presentation needed to use the required ingredients of JavaFX, Groovy, Griffon, and Dogfood. The results are in the Gr8Cooking project on my github account. And this is an interactive presentation, feel free to click on buttons and whatnot that are actually on the slide. That was the point of this presentation.

The Life and Times of a JavaFX Skin

As a consequence of the talk I gave at Gr8Conf US I’ve been wanting to create a real “Deck” control. Basically it is a stack of nodes that can be added to and navigated arbitrarily. And it displays these nodes in interesting ways. Something like a Powerpoint deck or a deck of cards. Also useful for UIs that use the “back” metaphor but the path forward isn’t fixed, like a Wizard.

Last evening I finally got around to coding some stuff up. My work is currently on github under my craftily named DeckControl project. Nothing earth shattering (yet). So there will be no screenshots or demos in this post. What I do want to talk about is the Skin model JavaFX is using. These tidbits I have yet to find in any documentation. But that also may be because I haven’t really read the documentation beyond a cursory level, or any of the books for that matter. I still haven’t finished reading the Wheel of Time, so it’s not too surprising.