The Source for Java Technology Collaboration
User: Password:



Joshua Marinacci

Joshua Marinacci's Blog

The Final Countdown

Posted by joshy on December 03, 2008 at 11:59 AM | Comments (23)

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


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • 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"

    Posted by: javathreads on December 03, 2008 at 01:29 PM

  • 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

    Posted by: kimchy on December 03, 2008 at 01:59 PM

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

    Posted by: stenew on December 03, 2008 at 03:16 PM

  • stenew & kimchy: stay tuned. :)

    Posted by: joshy on December 03, 2008 at 04:25 PM

  • expectation :)

    Posted by: wyseahl on December 03, 2008 at 05:28 PM

  • expectation :)

    Posted by: wyseahl on December 03, 2008 at 05:28 PM

  • expectation

    Posted by: wyseahl on December 03, 2008 at 05:29 PM

  • In which time (India) i can download the SDK? Can you please give me the clear information?

    I am eagerly waiting to download.

    Posted by: thamizh on December 03, 2008 at 10:05 PM

  • 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. ;-)

    Posted by: evickroy on December 04, 2008 at 06:53 AM

  • 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/DraggableMP3Player.jar , version null...
    exception: null.
    com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://www.javafx.com/samples/DraggableMP3Player/webstart/lib/FXDContainer.jar
    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/FXDContainer.jar

    Posted by: mikael2 on December 04, 2008 at 08:00 AM

  • 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.

    Posted by: ljnelson on December 04, 2008 at 08:29 AM

  • :-( 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)

    Posted by: ljnelson on December 04, 2008 at 08:36 AM

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

    Posted by: ljnelson on December 04, 2008 at 08:37 AM

  • > :-( 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.

    Posted by: ewin on December 04, 2008 at 10:33 AM

  • 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.

    Posted by: dirtyqwerty on December 04, 2008 at 12:20 PM

  • 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

    Posted by: cowwoc on December 04, 2008 at 10:36 PM

  • 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.

    Posted by: joshy on December 05, 2008 at 08:03 AM

  • 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.

    Posted by: joshy on December 05, 2008 at 08:05 AM

  • 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" }
    }
    ]
    }
    }
    }

    Posted by: goodsforyou on December 11, 2008 at 05:46 AM

  • 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" }
    }
    ]
    }
    }
    }

    Posted by: goodsforyou on December 11, 2008 at 05:50 AM

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

    Posted by: joshy on December 11, 2008 at 07:05 AM

  • 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?

    Posted by: goodsforyou on December 11, 2008 at 06:25 PM

  • 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.

    Posted by: joshy on December 12, 2008 at 04:34 PM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds