Skip to main content

JavaFX: Time to Believe?

Posted by editor on April 29, 2009 at 6:59 AM PDT

This past Monday, writing about JavaFX, James Sugrue stated I'm starting to believe. This statement of course implies that previously James maintained a more measured view on the new technology. So, what's changing his mind? Examples of JavaFX technology in action:

It always takes some time for new technologies to prove themselves, and JavaFX is no different. It still gets more than it's fair share of bad press, but as more examples using JavaFX appear, I'm starting to believe that it has it's place for Java developers.

James embeds some of the applications that are changing his mind in his blog post, including Rakesh Menon's JavaFX Image Viewer, which gets its images from Flickr through web services.

James notes that mashups that apply the Google Maps API are the most popular. In this, JavaFX developers are discovering what mashup developers using all the mainstream web service technologies have discovered: that the Google Maps API is very powerful and well-suited for developing all kinds of interested web applications. Sort the ProgrammableWeb APIs Directory by "Popularity" (which means: the number of mashups that are registered in the ProgrammableWeb catalog that use that API) and you'll find the Google Maps API with a runaway lead of 1676 mashups, versus 437 for the second most popular web API, Flickr.

James is also finding some interesting JavaFX mobile applications, for example Shopping Service (which applies the Yahoo! Shopping API). He's also looking forward to JavaOne:

I'm sure we'll see a lot more examples of what JavaFX can do at JavaONE this year.

And he reminds developers:

Don't forget that the JavaFX Coding Challenge is still open for entries, until May 29.

Speaking of JavaOne, Rich Media Applications and Interactive Content is one of the four broad topics of focus this year. The JavaOne Topics Guide provides this description:

The adoption of Java technology for media continues to grow at a rapid pace. On television tens of millions of viewers are enjoying Java content delivered on Blu-ray Disc, Tru2way, and other digital TV devices, while on the desktop the lines between local and network computing have grown increasingly blurry as content steadily migrates into the cloud. Rich Internet Applications (RIAs) have completely changed the software landscape by making it easier to access and share content, created new business models, and revolutionized providing software and services to the market. We're even seeing traditional applications such as email, calendars, or word-processing software get replaced by online equivalents. Consumers have become increasingly comfortable letting their online activities move into the cloud...

Consumers are increasingly demanding rich, interactive, and entertaining experiences that are familiar and intuitive. Developers and designers are seeking platforms and tools, like JavaFX, that can enable them to work more closely together and to incorporate rich animation, media and scalable fonts & graphics into experiences that can more easily and seamlessly be delivered across the spectrum of consumer devices.

Among the specific topic areas in this category is:

  • Use of Scripting languages and tools -- such as JavaFX -- for the creation of rich media and interactive content

Indeed, fully 26 of the 59 sessions (Technical Sessions, Panel Sessions, and BOFs) in the "Rich Media Applications and Interactive Content" topic area include "JavaFX" in the session title. So, yes, JavaFX is a clear focus at this year's JavaOne.

In our last poll, the community selected "Rich Media Applications and Interactive Content" as the technology (among those highlighted at this year's JavaOne) that's most important for the future of Java (something that was a bit of a surprise to me). The margin was a razor thin 1 vote (which was posted Friday morning minutes before I closed the poll) over "Core Technologies" -- but it's clear that within the Java Community, JavaFX is considered a critical technology for the future.

This week's poll, which is open through tomorrow, asks a related question: "Which aspect of Java technology is the primary focus of your current work efforts?" I'll be reporting on the results of that poll (which look interesting so far, especially in conjunction with the results of last week's poll) on Friday. If you haven't yet voted, please do so. For this one, as large a sampling as possible is needed to provide a viable, meaningful result.

It took me to the end of my first month as editor to get to writing a full piece on JavaFX. It's a very interesting technology, one more aspect that demonstrates Java's amazing adeptness at spanning the spectrum from micro applications to the many 9s of availability required in the Data Center environment.

In Java Today, James Sugrue has discovered something about JavaFX: I'm Starting To Believe: "It always takes some time for new technologies to prove themselves, and JavaFX is no different. It still gets more than it's fair share of bad press, but as more examples using JavaFX appear, I'm starting to believe that it has it's place for Java developers. I'm sure we'll see a lot more examples of what JavaFX can do at JavaONE this year. Here are some examples that caught my attention..."

Book introduction: "Java ME on Symbian OS" by Roy Ben Hayun is a PDF of the introduction to Roy Ben Hayun's new book, provided by the Mobile and Embedded Community: "Roy Ben Hayun's book on "Java ME on Symbian OS" is available at Java Mobile & Embedded Community members get a 20% discount. For a brief introduction to the book see here or listen to to podcast #77."

And, fkieviet announces a Glassfish ESB webinar taking place today in Tom Barrett presents: Sun GlassFish ESB in Action: A Technical Deep Dive. "On Wednesday April 29 at 10:00am PDT, Tom Barrett will present a webinar in which he will provide a technical deep dive of GlassFish ESB. Tom is a SOA Technical Specialist, and Java Ambassador. He's the author of several high quality OpenESB tutorials. In this webinar he will cover amongst others BPEL orchestration of web services using the BPEL service engine, the use of binding components, and..."

In today's Weblogs, James Gosling expresses his enthusiasm over the new Java ME SDK 3.0, and outlines its features in Java Me SDK 3.0 launched!: "The mobile group has just released a lovely new version of what used to be called the "wireless toolkit", but is now the Java ME SDK. It includes integration with third-party emulators and Windows Mobile devices; on-device deployment and on-device debugging; CLDC/MIDP, CDC/FP/PBP/AGUI, and BD-J (blue-ray); the new CLDC HotSpot Virtual Machine; an optimized MSA 1.1 stack with extensions; profiling support; new development environment based on Netbeans; the Lightweight UI Toolkit (LWUIT) and device search database are integrated; and the JavaFX Mobile Emulator is now included."

Tim Boudreau documents A few new NetBeans modules - VNC, Breadcrumbs, License Header Changer, a better Java Navigator and more: "I just uploaded a bunch of modules I've been working on to the NetBeans plugin portal, and put their source code into NetBeans source repository. I'll also get them available in the daily build update center soon. Some of them are things I've had lying around for a while, some are new: * VNC Client for NetBeans. This is a module that integrates the TightVNC Java VNC client (with much patching, which I have contributed back) into NetBeans..."

And Tomas Brandalik points us to the new Java ME SDK Team blog: "After releasing final version of JavaME SDK we've started a team blog here It will be definitely more up to date than this blog, because all team members can contribute."

This week's Poll asks "Which aspect of Java technology is the primary focus your current work efforts?" Voting is open through tomorrow, April 30.

This week's Spotlight is The Developer Insight Series, Part 2: Code Talk, in which Janice J. Heiss asks renowned developers about the keys to writing good code: "In Part Two, we hear code advice from five distinguished developers: Joshua Bloch and Masood Mortazavi echo Goetz's advice to keep code simple. Jaron Lanier and Victoria Livschitz want to radically change the way code is created. And renowned bug fixer Brian Harry provides tips on bug fixing while emphasizing what the process can teach us."

In the Forums, Elliot Long asks about LWUIT compilation - blackberry incubator classes: "Hello... I'm attempting to port an LWUIT application to the Blackberry Storm, and as such I've been attempting to rebuild the lwuit libraries to incorporate the Blackberry classes from the incubator.Here is the process i followed*: 1) Added and to the appropriate (new) directory; 2) Replaced,, and, with the versions from the incubator; 3) Adding the net_rim_api.jar to the build classpath (from the Blackberry 4.7.0 component package); 4) Recompiled. What happens is it leads to this error: Error preverifying class javax.microedition.midlet.MIDletMain..."

cvd thanks walterln in Re: AWT Container only paints partially since JRE 1.6.0_12: "Thanks, walterln. Very good catch of yours. You're absolutely correct and, thanks to you, we're making progress. Using explicit setBounds on the container resolves it. That isn't too bad a workaround but I still believe we have a bug candidate here for the following reasons (applied to the original test case): 1) The container would only paint partially when the applet is run inside a browser. To my surprise it wouldn't paint at all when run with the AppletViewer application. That discrepancy alone indicates a possible issue. 2) If any optimization was done it wasn't done well. In browser tests only the very last child is painted and I have a reason to believe that even that behavior is not consistent. Please, if anybody here is using JRE 1.6.0_12 (or later) and sees no problem with the test case, I'd appreciate your feedback..."

And conradcrampton is having JNDI custom resource problems: "I have searched and searched for an answer to the problem as and I can't find anything I am guessing it isn't a problem for anyone else and therefore something stupid I am doing. Looking at these two resources it seems easy enough to create a custom class that implements javax.naming.spi.ObjectFactory which I have done (pretty much copied the example in the first post below for JNDIPropertiesFactory), packaged and added this jar to [glassfish]/domains/domain1/lib/ext (also tried [glassfish]/lib and as a single class to [glassfish]/domains/domain1/lib/classes/package/structure/JNDIPropertiesFactory)..."

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

This past Monday, writing about JavaFX, James Sugrue stated "I'm starting to believe"...