Extreme GUI Makeover 2007

This is one of the most enjoyable session in all of JavaOne. Last years Extreme GUI Makeover, the gang made over a typical looking mail client. This year Christopher Campbell, Shannon Hickey, Hans Muller, and Romain Guy presented transformed a pizza box-like business User Interface (UI) into a visually stunning UI with Swing and Java 2D. The first type presented by the extreme makeover folks is to use a modern Look and Feel like Nimbus.

According to Romain, it makes a good idea to add a splash screen, and in Java 6 this is easier than ever with the new -splash JVM option. You should also make good use of non-rectangular UI splash screen with a drop shadow, and a progress indicator. The demo here faded the splash screen image from sepia to a full color image to indicate the loading progress.

They demoed JGoodies form validation which paints a little warning icon on the text field. Another demonstration showed a modal dialog with rounded corners ala Web 2.0 which blurred the main application window below. They rounded the border by overriding the paintBorder method on the Swing component. They use of gradients everywhere. They demonstrated a set of thumbnails with reflection using ReflectionRender which you can find in SwingX project from the SwingLabs. The demo also demonstrated custom table cell rendering. The speakers said that the default cell renderer is a JLabel but that you can use any JCoponent with any layout.

The demo had some animated effects for sorting and filtering table rows by extending a TableRowSorter available in Java 6. The demo used the Timing Framework to drive the animation and used the Glass Pane to paint the animation.

One of the best moments of the demo was when Romain Guy joked, “One thing I don’t like about UI is that it is constrained inside the frame of the window.” Why stick square components inside to the bounds of a window? Romain demoed a translucent non-rectangular dialog window that floated outside the main application window. To get this effect he said he used the JNA API, which I understood him to be described as JNI for Swing.

In speaking about boring business application UIs Romain joked, “You want to call the police to arrest the guy that wrote that UI.”

In summary, if you want to makeover your Swing UI, use Java 2D, Timing Framework, SwingX, and the Nimbus L&F.

Technorati Tags: , , , , , ,

Enjoy. Share. Be Happy.
  • Twitter
  • Facebook
  • StumbleUpon
  • del.icio.us
  • Tumblr
  • Google Bookmarks
  • FriendFeed
  • Yahoo! Buzz
  • Reddit
  • Digg
  • HackerNews
  • Suggest to Techmeme via Twitter
  • LinkedIn
  • Ping.fm
  • Identi.ca
  • Mixx
  • Furl

Related posts:

  1. Extreme GUI Makeover: Lookin’ Better
  2. CommunityOne 2007: Swing GUI Building with Matisse: Chapter II
  3. JavaOne 2007: Friday General Session
  4. Filthy-Rich Clients – Talk Dirty to Me
  5. 2008 JavaOne Call for Papers

This entry was posted in Conference, Java, Programming, TechKnow. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

One Comment

  1. Anish
    Posted April 16, 2009 at 3:18 pm | Permalink

    Hi,
    Is the code download available for this talk

    Regards,
    Anish

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*