Learn WidgetFX with Passion!

7 07 2009

Sang Shin has included WidgetFX as part of his 15 week JavaFX Programming Course that is currently underway.  This is a free online course that you can take at your own pace based on his excellent training materials.

Sang Shin, Java Passion instructor

Sang Shin, Java Passion instructor

The scheduled date for the WidgetFX module is July 25th, and will feature an online lab and homework to teach basic widget development.

Sign up at javapassion.com and sharpen your skills on JavaFX and WidgetFX for free!

While you are learning WidgetFX, this is a great opportunity to toss an entry into the Widget Developer Contest that is running until the end of July.

WidgetFX Developer Contest

WidgetFX Developer Contest





Speaking at the Oakland Java SIG

6 07 2009

I will be presenting at the Oakland Java SIG on July 15th.  The topic is “Supercharging Your JavaFX Programs with WidgetFX and JFXtras,” and will include some brand new content based on the WidgetFX 1.2 and JFXtras 0.5 releases.

As usual, I will incur some significant demo risk for the sake of showing some jaw-dropping demo awesomeness!  You will either be totally impressed or get a good laugh at my expense…

If you are in the SF Bay Area, be sure to drop by and check it out!





WidgetFX 1.2 Release Announcement

30 06 2009

I am pleased to announce the 1.2 release of the WidgetFX project.  This brings the project up to speed with the latest JavaFX 1.2 release, and includes many bugfixes and improvements to the framework.

I want to thank all the widget authors who made an extra effort to port their widgets during the beta period so they would be available from day 1 on the new version.

So what are you running in your dock?

WidgetFX 1.2 Widgets
WidgetFX 1.2 Widgets
(from left-to-right: Clock, DiskSpace, WebFeed, Weather, SlideShow, Pac-Man, World Clock, Calendar)

All these widgets are available and working today on the WidgetFX 1.2 release.  To run WidgetFX, simply go to the WidgetFX home page and click on the Launch Dock link: http://widgetfx.org/

Here is a list of the major changes in this release:

  • Improved Performance – The widget dock, as well as all widgets will benefit from performance improvements in JavaFX 1.2.
  • Built-in Layout – Widgets now have an onLayout() function that can be used to layout the top-level nodes.
  • Signed Widgets – Widgets can now be signed with certificates to get out of the sandbox and gain access to system resources.
  • Additional API Hooks – New event handlers for onShow and onHide.
  • Macintosh Bugfixes – Transparency now works with the latest JDK (1.6.0_13), and dialog interaction issues have been fixed.

You too can be a widget author and win some free prizes in our widget development contest.  The deadline is July 31st with a grand prize of a year’s worth of free books donated by my publisher, Apress.

WidgetFX Developer Contest

WidgetFX Developer Contest

Happy Widget Hacking!





Running Liferay on Shared Hosting

26 06 2009

This is a little off my usual set of topics, but something that hopefully others will find valuable, since there is such little information about this on the net.

Let’s say that you have are launching a new portal website for a Java technology project (such as projavafx.com), and have the following constraints/desires:

  1. You need a site that can handle dynamic content, access controls, forums, blogs, etc.
  2. The underlying portal technology needs to be Java-based.  No way you are hacking PHP (been there, never again…)
  3. You are on a budget.  It is a choice between server hosting and paying your cable bill, and not having the latter would impact your happiness more than the former.

So, with those constraints, you might be brave enough to try putting Liferay Portal on a Shared Tomcat Hosting plan.  Would a dedicated VPS be easier?  Sure, but you also pay more $$$ per bandwidth/disk/cpu.

(I am intentionally not mentioned any hosting companies by name, but if you look around you should be able to find shared Tomcat hosting for under $10/month.)

What to Download

Read the rest of this entry »





JFXtras 0.5 Release Announcement

22 06 2009

I am pleased to announce the 0.5 release of JFXtras.  This release updates the project with JavaFX 1.2 support, plus includes a major overhaul of the Shapes, Borders, and Layouts.

You can grab the latest bits here:
http://code.google.com/p/jfxtras/downloads/list

And browse the Javadoc online.

Pure JavaFX Shapes

Why should you care that we spent months re-implementing all the Shapes from scratch in pure JavaFX code?  Well, here are a few reasons:

  1. JavaFX 1.2 Compatibility - The JavaFX scene graph was pretty-much rewritten from the ground up in the 1.2 release, so porting the old Shape code was non-trivial.
  2. Mobile Deployment - Yes, you can now draw stars, balloons, and reuleaux triangles on your new HTC Diamond.  (What, you didn’t pick up a JavaFX Mobile device at JavaOne?  Your loss…)
  3. Richard Bair said to do it…  Rich isn’t the sort of guy you say no to, and he was pretty adament about the fact that we shouldn’t be hacking the scene graph directly.  Well, now we aren’t.  (although don’t let him know about our new hack to embed JavaFX in Swing…)

You can try out the new shapes by running the DrawJFXtras sample program from the Pro JavaFX Platform book (which has an entire chapter dedicated to the JFXtras project and other JavaFX FOSS):

Draw JFXtras Sample Application

Draw JFXtras Sample Application

Note:  When playing with the demo be careful using the balloon and rounded rectangle shapes.  They trigger a nasty bounds-detection bug that we still haven’t tracked down.

Thanks to my coworker, Steve Bixby for doing the rewrite in his spare time.  He was looking for a little project to learn JavaFX, and went way above and beyond!

Redesigned Borders

We also redesigned the JFXtras Borders from scratch.  Here are some of the new and noteworthy improvements:





WidgetFX 1.2 Beta Announcement

17 06 2009

Update: I have added in some references to WidgetFX 1.2 tutorials below.

We are proud to announce the 1.2 beta release of the WidgetFX framework.

Here are some of the new and noteworthy features and changes:

  1. JavaFX 1.2 Support – You can finally take advantage of all the new features of JavaFX 1.2, such as Controls, Layouts, and Charts in your desktop widgets!
  2. Built-in Layout - Widgets now have an onLayout() function that can be used to layout the top-level nodes.
  3. Improved Performance – The widget dock, as well as all widgets will benefit from performance improvements in the framework.
  4. Signed Widgets – Widgets can now be signed with certificates to get out of the sandbox and gain access to system resources. 
WidgetFX Info Dialog

WidgetFX Info Dialog

We will be adding more goodness before the official release, but wanted to get the major features implemented that would have API impacts on widget authors.  Any changes from this point will be API compatible with the final 1.2 release.

The beta version of the WidgetFX dock can be launched via the following URL:
http://widgetfx.org/beta/launch.jnlp

IMPORTANT: If you are an existing WidgetFX user, please delete your widget configuration prior to launching the new dock. This will ensure that the 1.2 versions of the built-in widgets will be loaded.  Your widget configuration directory is under $USER_HOME/.WidgetFX.

We will release the final WidgetFX 1.2 version at 11:59PM PST on June 28th.  If you have widgets that are available to the general public, please upgrade and test them in advance of this date, and push your 1.2 compatible widget out at approximately this time.  This is required, because the 1.2 release is not binary compatible with 1.1…  *sigh*

Upgrading an Existing Widget

So, you have a Widget that you would like to upgrade to 1.2 and don’t know where to start…  Here are the basics:

Read the rest of this entry »





The WidgetFX+++ JavaOne Recap

13 06 2009

I had the unique opportunity to present 3 different sessions, plus assist with a University Session at JavaOne this year, and had a blast doing all of it.

I put this blog post together as a reference for anyone who is interested in JavaFX, WidgetFX, and/or Piccolo2D and wants to learn more. Hopefully you will find it valuable!

The JavaFX University Session

Jim Weaver invited the entire Pro JavaFX author team to help out with presenting content for his Monday morning JavaFX University Session. Presenting at a University Session was an entirely new experience for me, because I have never attended one myself. I have to say that the format really lends itself to digging in much deeper on a technology than normal technical sessions can accommodate. Even after 3.5 hours, we still had not covered all our material, but the JavaOne University slides are a great reference!

As an example of mobile technology, we passed around an XPERIA X1 running the DrawJFX example from our book to give everyone a chance to try it out. Here is a photo of the collage the class drew as a collective:

JavaFX University Session DrawJFXtras Picture

JavaFX University Session DrawJavaFX Collage

Pro JavaFX Platform

The first technical session was with Jim Weaver, who is a seasoned presenter. Before we even got started with the session he already had the audience enthralled with his intro music! Rather than getting in the details, I encourage you to read Ed Ort’s excellent article on the Pro JavaFX session.

JavaOne Author Team

Pro JavaFX Book Signing (left-to-right: Weiqi, Dean, Steve, and Jim)

The highlight of the week came right after this session when Read the rest of this entry »





JavaFX 1.2 Refcard Released

2 06 2009

JavaFX 1.2 officially hit the shelves today, and I have my own announcement to follow it up.

My Getting Started with JavaFX Refcard is available and fully updated for the JavaFX 1.2 release! (how is that for just-in-time documentation)

JavaFX Refcard Sample Application

JavaFX Refcard Sample Application

It includes sections on the following:

  • Loading an Image on the Stage
  • Displaying Text With Effects
  • Animating Transitions
  • Interacting With Controls
  • Panning With Layouts
  • Finishing With Media
  • Running on Mobile
  • Running as a Desktop Widget
  • It also has a very thorough JavaFX Reference that covers everything from operator precedence to JavaFX sequence nuances.  Please give it a read:

    http://refcardz.dzone.com/

    This blog entry is also a good place to give me feedback on the article, so fire away in the comments section, or come to one of my JavaOne sessions and ask in person!





    JavaFX 1.2 Top 10 and Migration Guide

    31 05 2009

    Note 1: I am following Jim Weaver’s lead, since he discovered JavaFX 1.2 is downloadable from javafx.com. Enjoy the new release!

    Note 2: I have updated the section below on nativearray.  Please use with caution!

    The JavaFX 1.2 release is a huge upgrade from 1.1, both in terms of functionality and API improvements.  This means there are lots of cool new things to take advantage of, but at the same time you will spend quite a lot of time migrating your applications.

    Fortunately, after upgrading JFXtras, WidgetFX, and dozens of sample applications for the Pro JavaFX Platform book, I have this all down to a science.  In the rest of this blog I will take you through a whirlwind tour of the relevant new features, and most common migration hurdles so you can be up and running in record time!

    First the fun stuff…  new features.  Here are the top 10 features you should start using today:

    JavaFX Top 10 Revised

    JavaFX Top 10 Features (revised)

    1. Skinnable UI Controls

    It is great to have some pure JavaFX controls, such as Button, ListView, ProgressBar, and Slider that don’t rely on Swing peers underneath.  An added advantage is that they are fully skinnable to match the fonts and color palette of your application.

    2. New Layout Classes

    The new layout classes including Tile, Stack, Flow, ClipView, and Panel are a very welcome addition!  The layout API has also gotten a lot cleaner, which makes it easier to write your own layouts, such as the JFXtras Grid.

    3. Charting Support: Area, Bar, Bubble, Line, Pie, Scatter, X/Y

    Now I can compete with my Flex buddies on business oriented RIAs!  The new charting and graphing support is a must for any enterprise applications, so I am glad to see it made the cut.

    Read the rest of this entry »





    WidgetFX Session Sold Out!

    30 04 2009

    5/2 Update: Seats now available…  Sign-up now!

    The JavaOne schedule builder just opened a few days ago, and the WidgetFX session has already filled up to capacity!

    Here is a screenshot of what you will get if you try to sign up today:

    WidgetFX Session Full!

    WidgetFX Session Full!

    So what if you wanted to attend, but haven’t signed up yet?  The JavaOne conference team is usually pretty good about reallocating rooms to make space for additional attendees, and if you click the yellow plus sign you will get an e-mail notification when additional space is available.

    Fun Fact: The WidgetFX session was the earliest submitted session that was accepted by the review committee (check for yourself, there are no session numbers below TS-3789).

    Also, you could always sign up for my other session with Jim Weaver on RIA Enterprise Application Development with JavaFX (TS-4861).  Only 191 seats left, so sign up ASAP.

    I hope to see you at JavaOne!