Skip to main content

U Got the Look

Posted by editor on November 22, 2006 at 6:41 AM PST

Extreme GUI Makeover code... at last!

Some of the JavaOne demos have gotten a bad reputation... perhaps not undeserved... of showing off neat stuff but not backing it up with code that can be inspected, analyzed, and reused. It's great that Romain Guy can make a Java app look like something out of Steve Jobs' dojo of design, but if you can I can't duplicate that with our own apps, what's the point?

After this year's JavaOne, the complaints went up that without code, these kidns of sessions were of limited value. The Aerith developers worked with the legal department (I think their mashup apparently hadn't been entirely to the letter of the various web API's terms of use?) and got the code to a point where they could actually get it released, within a month or two of the show and the inevitable post-show recovery phase.

It's taken a little longer, but finally the code from the other big GUI showoff session isnow available.
In Java Today,
Scott Violet has posted Extreme GUI Makeover: 2006 "Borrowing the idea from the popular TV show, the idea was to makeover an ugly ducking of a Swing app, turning it into a beautiful swan. Shannon, Romain and myself had a great time putting the app together and doing the session; as a bonus, the session was one of the most popular talks. WOW! Because we had so much fun, and because of the popularity, we decided to do a similar session for 2006." Scott's blog entry provides an overview of the mock e-mail client presented at JavaOne 2006 and finally provides its source code.

Last week Google released version 1.2 of the Google Web Toolkit (GWT), an open-source Ajax library that translates Java code into highly optimized JavaScript. In Bret Taylor on the Google Web Toolkit Artima interviews the senior product manager for Google developer tools, about Ajax development and new features in GWT.

At the JavaOne conference in May 2006, Sun Microsystems announced its intention to open source Java technology. Now, Sun plans to open source most of the Java Platform, Micro Edition (Java ME) by the end of 2006 and much of Java Platform, Standard Edition (Java SE) by early 2007. An update on the how and why of the Open-Source Java ME release can be found in the SDN interview Open Sourcing Java Platform, Micro Edition: A Conversation With Sun's Senior Director of Mobile & Embedded Platforms, Shannon Lynch.

In today's Forums,
Ian Strain has some ME game development advice in the thread
Re: Background Music in Games - Any Tips:
"We looked into this, the only phone we got this working on was the K750, using a midi as the background and wavs for sfx. I'm sure sony ercisson phones in the same category as the K750 will be capable of this too. We tried this on all other devices available (motorola, samsung, sharp, lg, sagem) but it never worked. So, either use a background sound and forget about sfx or just have sfx. I'd go with sfx and anyway most people turn the sound off anyway."

The thread
Re: When SwingX and other JDNC will be part of JDK discusses the status and management of the SwingX project. Noel Grandin writes:
"I think SwingX has a lot of promise - I was really hoping it would grow into a central place where people could develop swing components for re-use, instead of having various small unmaintained components scattered around dozens of mailing lists and websites. But SwingX is not acting like a real open-source project. A real open-source project has release versions and development versions. This is important so that we generate stable, reliable components for people to program against, while we push forward with improvements."

Finally, in
Re: Java EE appclients vs standalone clients, tjquinn writes:
"You are absolutely correct about the restriction regarding injection support in app clients. The app client container does the injection only in the app client's main class and only on static elements. If you want to refer to an injected field from some other class you could write a public (or package-visible if you prefer and it would work for you) static getter method that returns the annotated main class's field. The injection occurs before the main class's main method is invoked, so any code invoked directly or indirectly from there that invoked the getter would get the injected value."

Mark Lam has a Introduction to phoneME Advanced VM Internals in today's Weblogs. "With JavaME open-sourced in the phoneME project, the public now has access to the code. However, in order to be able to navigate and effectively contribute to the code, one will also need knowledge of additional details like coding conventions, terminology/jargon, design philosophies, code organization, and design-tradeoff decisions for example."

Fabrizio Giudici offers a
Design for exploiting parallelism:
"Ok, I think I've spent enough time on preliminaries, so this time I'm gonna show you some UML diagrams and code. I also have to introduce you Emmanuele Sordini, one of my best friends and co-author of the Mistral project."

Finally, Rémi Forax digs into the latest revision of the JDK 7 closures proposal in
java.lang.Unreachable as type argument:
"The closure proposal specifies a new type java.lang.Undeclarable that can be used as a return type of a method to indicates that this method never returns. All instructions after a call to a method that returns Undeclarable are unreachable."

In today's
News Headlines

Registered users can submit news items for the href=""> News Page using our
news submission
. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href=""> News RSS

Current and upcoming Java

Registered users can submit event listings for the href=""> Events Page using our href="">events submission form.
All submissions go through an editorial review before being posted to the

Archives and Subscriptions: This blog is delivered weekdays as
the Java
Today RSS feed
. Also, once this page is no longer featured as the
front page of it will be
archived along with other past issues in the href=""> Archive.

Extreme GUI Makeover code... at last!