Skip to main content

The Final Countdown

Posted by joshy on December 3, 2008 at 11:59 AM PST

Why do I have a bad 80s song in my head.

I'm in the Austin airport awaiting my flight back home while busily making last minute tweaks to the website. The website I'm working on, of course, is the new JavaFX.com; which will be launched with the JavaFX 1.0 release tomorrow. Almost there...

I came to Austin Texas yesterday as the guest speaker for the Austin Java Users Group's annual Christmas party. I gave them an in-depth sneak preview of tomorrow's release and received a great response. I was told this is the highest attendance they've ever had for a meeting, so that feels pretty good. My exhausting travel isn't over yet. Sweden two weeks ago. Austin this week. Then Belgium next week. After it's all over I think I'll finally take a vacation.

As I'm waiting here in the airport I'm taking the time to look at the big picture. I've been on the JavaFX team for the last year and a half and I must say that it feels really good to finally be able to share with the world what we've been working on. Did every feature make it in? Of course not. Is it completely bug free? No way. But it's very good and very useful. And most importantly, this is just the first release. This is day one of a new application platform built on the mature Java stack, but with new features and new powers (like super-powers, but for code. :) We have lots more planned for future releases, which may come sooner than you think, but for now check out what you can do today. Oh, and we snuck a few features into this release that you might not have been expecting.

So enjoy the evening. Tomorrow: go download the SDK from JavaFX.com. And if you happen to be in the bay area stop by the release party in SF. Sadly I'll miss it because I'll be packing for my trip to Devoxx in Belgium, but have a drink in my honor.

This is just the beginning.

- Josh

Comments

Hi goodsforyou.We don't have any gui testing tools for JavaFX yet. Sun does not provide any Maven specific tools, but the JavaFX SDK has commandline tools just like the JDK does, so you can easily call them from Maven.

Joshua, Thank you very much. Two more questions: Is there any GUI testing tools for JavaFX? I know that there are many GUI testing tools for Swing. I found a Maven compiler plugin for JavaFX, http://m2-javafxc.sourceforge.net/ Does Sun support Maven for JavaFX, include compile, unit test and integration test? I want to use Maven to do integration test, is it possible?

Hi goodsforyou. You should set blocksMouse to true on your draggable objects so that the mouse won't start dragging multiple objects.

Sorry, the code of the previous commment is wrong, I fotgot to delete one line, please try this one: Stage { title: "Drag And Drop: v1" scene: Scene { content: Group { content: [ ImageView { image: Image { url: "{__DIR__}images/background.png" } }, DraggableImage { maxX: 240 maxY: 320 image: Image { url: "{__DIR__}images/ball.png" } DraggableImage { maxX: 240 maxY: 320 image: Image { url: "{__DIR__}images/ball.png" } } ] } } }

Hi, Joshua I found a bug, and reported it to Sun some months ago, and this bug is not fixed yet. You wrote a sample in this page, http://javafx.com/samples/DragAndDrop/index.html When I add another DraggableImage to the scene, then I drag the top one, but all Images were dragged. You can change the Main1.fx file to the following, and run it, you can repeat the bug! package draganddrop; import javafx.stage.*; import javafx.scene.*; import javafx.scene.shape.*; import javafx.scene.paint.*; import javafx.scene.input.*; import javafx.scene.image.*; Stage { title: "Drag And Drop: v1" scene: Scene { content: Group { content: [ ImageView { image: Image { url: "{__DIR__}images/background.png" } }, DraggableImage { maxX: 240 maxY: 320 image: Image { url: "{__DIR__}images/ball.png" } ImageView { image: Image { url: "{__DIR__}images/background.png" } }, DraggableImage { maxX: 240 maxY: 320 image: Image { url: "{__DIR__}images/ball.png" } } ] } } }

dirtyqwerty: JavaFX.com has tons of demos written in JavaFX. Please the samples pages here: http://javafx.com/samples/. We temporarily moved the video offsite to another server when the JavaFX.com server borked due to the unexpectedly massive number of hits we got. That other server uses Flash (for now). Now that the server is back up we've put video back on our site with JavaFX.

cowwoc We don't have a designer tool at this time. In our research we found that what designers most want is to use Adobe Photoshop and Illustrator in their projects, so we created the JavaFX Production Suite to let them use the tools they are familiar with to build JavaFX applications.

Joshua, I keep on looking for screenshots of a Netbeans GUI editor for JavaFX. Does this exist? If so, you should really post such screenshots front and center. If not, can you please discuss why this was left out (I assume by design)? Thanks, Gili

No JavaFX running at www.javafx.com? seriously? Adobe has flash on their page:http://www.adobe.com/products/flashplayer/ Microsoft has silverlight content on their site:http://www.microsoft.com/silverlight/ Even the linked JavaFX videos are in flash? I'm sorry, but this only reinforces the concern that sun has missed the RIA boat and is desperately trying to catch up.

> :-( Trying to launch the effects playground on Firefox 3.0.4, Windows XP, Java 6 update 10 bombs out: > And it took two minutes to load. :-( I hope this is just the crush on the download servers.... See, kids? It's just like applets, only 13 years later. This happens when there is no supervising adult involved in strategic planing.

And it took two minutes to load. :-( I hope this is just the crush on the download servers....

:-( Trying to launch the effects playground on Firefox 3.0.4, Windows XP, Java 6 update 10 bombs out: netscape.javascript.JSException at netscape.javascript.JSObject.getWindow(Unknown Source) at com.sun.javafx.runtime.adapter.Applet.hideOverlay(Unknown Source) at com.sun.javafx.runtime.adapter.Applet.launchStage(Unknown Source) at com.sun.javafx.runtime.adapter.Applet$1.lambda(Unknown Source) at com.sun.javafx.runtime.adapter.Applet$1.invoke(Unknown Source) at com.sun.javafx.runtime.adapter.Applet$1.invoke(Unknown Source) at com.sun.javafx.runtime.Entry$2.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: netscape.javascript.JSException at sun.plugin2.main.client.MessagePassingExecutionContext.getJSObject(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletContextImpl.getJSObject(Unknown Source) ... 15 more Caused by: java.lang.InterruptedException at java.lang.Object.wait(Native Method) at sun.plugin2.message.Queue.waitForMessage(Unknown Source) at sun.plugin2.message.Pipe.receive(Unknown Source) ... 17 more sun.plugin2.main.client.PluginMain: unrecognized message ID 27 Exception in thread "AWT-EventQueue-7" java.lang.NoClassDefFoundError: Could not initialize class javax.imageio.ImageIO at com.sun.javafx.scene.image.ImageLoader.readImageFromStream(Unknown Source) at com.sun.javafx.scene.image.ImageLoader.readImage(Unknown Source) at com.sun.javafx.scene.image.ImageLoader.(Unknown Source) at javafx.scene.image.Image.initialize$impl(Unknown Source) at javafx.scene.image.Image.initialize(Unknown Source) at javafx.scene.image.Image.postInit$(Unknown Source) at javafx.scene.image.Image.initialize$(Unknown Source) at effectsplayground.Main$9.computeValue(Main.fx:42) at effectsplayground.Main$9.computeValue(Main.fx:42) at com.sun.javafx.runtime.location.ObjectVariable.update(Unknown Source) at com.sun.javafx.runtime.location.AbstractVariable.bind(Unknown Source) at com.sun.javafx.runtime.location.ObjectVariable.(Unknown Source) at com.sun.javafx.runtime.location.ObjectVariable.make(Unknown Source) at effectsplayground.Main.(Main.fx:42) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at com.sun.javafx.runtime.adapter.Applet.launchStage(Unknown Source) at com.sun.javafx.runtime.adapter.Applet$1.lambda(Unknown Source) at com.sun.javafx.runtime.adapter.Applet$1.invoke(Unknown Source) at com.sun.javafx.runtime.adapter.Applet$1.invoke(Unknown Source) at com.sun.javafx.runtime.Entry$2.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)

Hi; the javafx.com website for me shows two big bright orange buttons labeled download now--one at the top, and one at the right of the main logo. They're identical, but only one of them does something. I...well, I'm not sure how to put this: the site is, um, sparse enough that perhaps this was some kind of design intent? but I think it might be a bug. I'm going to pull the SDK down obviously and play with it--I won't judge the product by its website.

The MP3 player gives me JNLP JREDesc in Component ignored: http://dl.javafx.com/javafx-rt.jnlp Validating http://www.javafx.com/samples/DraggableMP3Player/webstart/DraggableMP3Pl... , version null... exception: null. com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://www.javafx.com/samples/DraggableMP3Player/webstart/lib/FXDContain... at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source) at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source) at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source) at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source) at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.util.zip.ZipException: ZIP file must have at least one entry at java.util.zip.ZipOutputStream.finish(Unknown Source) at java.util.zip.DeflaterOutputStream.close(Unknown Source) at java.util.zip.ZipOutputStream.close(Unknown Source) at com.sun.deploy.net.HttpDownloadHelper.download(Unknown Source) at com.sun.deploy.cache.Cache.downloadResourceToTempFile(Unknown Source) at com.sun.deploy.cache.Cache.downloadResourceToCache(Unknown Source) at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source) at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source) at com.sun.javaws.LaunchDownload.downloadJarFiles(Unknown Source) at com.sun.javaws.LaunchDownload.downloadEagerorAll(Unknown Source) at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source) at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source) at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Exception: com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://www.javafx.com/samples/DraggableMP3Player/webstart/lib/FXDContain...

You're gravely mistaken Josh...... the keyboards make the song dated, but I wouldn't call it a "bad" song. It was a huge hit... at the time. ;-)

In which time (India) i can download the SDK? Can you please give me the clear information? I am eagerly waiting to download.

expectation

expectation :)

expectation :)

stenew & kimchy: stay tuned. :)

Please tell me the Mac will be included in the initial release!

Hi Josh, First, I have really high hopes for javafx. I minor suggestion if you are tweaking the javafx.com site, please add an X button on each pop up, it is very hard to understand that you need to click another section in order to see it. Took me some time to get to understand it, and I think I know my way around ajaxian based web applications ;) Cheers, Shay

Great Josh, looking forward for tomorrow. It's going to be a major step on the Java world, and yes "It is just the beginning"