Channels ▼

Eric Bruno

Dr. Dobb's Bloggers

JavaFX On Wall Street

September 30, 2011

At JavaOne on Monday, October 3rd, at 5:30pm at the Nikko Hotel, I'll be presenting a session called JavaFX on Wall Street. I'll be joined by Torkel Svanes, where we will describe the large Java Swing based financial application that we've incorporated JavaFX into.

The main driver for this work was to move it into the 21st century and incorporate new UI elements such as animation and multi-media. This type of work is easy to do in JavaFX, and much harder in Swing. We'll describe the steps we took to integrate our custom JavaFX components into Swing, which is not officially supported by the JavaFX 1.3.1 platform.

Next, we'll actually demonstrate the new JavaFX-based work to the audience, and describe the future plans we have for JavaFX 2.0.

All of this comes down to two basic questions: Why did we choose JavaFX, and why didn't we choose something like Flash or Silverlight?

The answer is very simple. We believe in Oracle's vision for the future of JavaFX, and we don't think it's going away. Also, it was a logical choice for this application, as there is an existing large base of Java code that JavaFX can integrate with well. With Flash or Silverlight, or any other technology for that matter, it would have meant a rewrite of the entire application. JavaFX allowed us to achieve the same UI results, and saved a lot of time and money in that it allowed us to r-use all of the existing Java code in the application.

JavaFX 2.0, with its Java APIs and full Java integration — including what Oracle says will be official Swing integration — will only make these types of choices easier. Watch out Flash and Silverlight! JavaFX 2.0 is coming to town.

I'm hoping Oracle will talk about its HTML5 plans for JavaFX 2.0 at JavaOne this year. From what they hinted at last year at JavaOne, the plan is to take the new Prism renderer within JavaFX 2.0 and have it render HTML5 code for JavaFX components when they are run in the browser.

For the developer, this is key. It means we can write our JavaFX code once, and have it render on the desktop within a JVM, and on the browser via HTML5 without changing any source code. Can this vision be achieved? Hopefully we'll find out at JavaOne.

Happy coding,

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.