http://java.sun.com/ http://java.sun.com/ http://www.sun.com/javaone
JavaOne - Experiencing Java technology through education, industry, and community
2006 Conference
Topics
Sessions
   General Sessions
Hands-on Labs
Schedule
Schedule Builder
Register
Pavilion
   Cosponsors
   Exhibitors
   Media
   Presentation Theater
Java University
Daily Activities
Event Connect
Alumni
   Alumni FAQ
Multimedia Sessions
Community
JavaOne Online
Forums
java.sun.com
java.net
java.com
sun.com/developers
Java Wear & Books
Home > General Sessions

Exciting Enhancements Coming for Desktop Java in Java SE 6

By Robert Eckstein

The Java Desktop APIs continue to mature with each new version of the Java platform, and the upcoming Java SE 6 release of Java is no exception. Tuesday morning featured a very informative talk on both the current and future directions of the Java Desktop APIs, given by Thorsten Laux, Chet Haase, Scott Violet, and Oleg Sukholdosky.

First up was the state of the Java Desktop ecosystem, and there were some interesting statistics that came out of that.

  • Did you know that 41% of Java technology developers spend their time working on Desktop applications and Applets, while 37% spend their time working on servlets and EJBs?
  • Did you know that 63% of the respondents cited desktop enhancements when asked which Java SE 6 features appealed to them to most?
  • Did you know that applications ranging from Yahoo Maps/Local for Europe all the way to real-time strategy games like Tribal Trouble use the Java Desktop APIs?

It gets better:

  • 87.5% of all PCs run Java technology, and over 65% of all Java technology-enabled PCs run the Java SE platform.
  • Monthly Windows JRE downloads passed over 30 million in January 2006, and the curve is growing exponentially. So, with all this budding interest in the Java Desktop APIs, what's new with Java SE 6?

The short answer is: plenty. Chet Haase started by showing us several improvements in the Java 2D libraries, including a radically new form of anti-aliasing called sub-pixel text that renders text better for LCDs. In addition, there are new types of GradientPaint classes that allow for better stop-point management, and in a particularly interesting example, we saw how circles rendered by the Java 2D APIs now look much more pristine, compared to the oblong blocky renderings provided by Java SE 5. Also, there are some great improvements in the Image I/O libraries, so if you're not using those APIs to load images into Java, be sure to give them a try.

Oleg Sukholdosky then showed us three major AWT enhancements for Java SE 6: the tray icons, the splash screen, and the Desktop class. Tray icons are those cute little icons that sit in the lower right corner of your operating system (in this example, let's say Windows). You can use these to control "daemon" processes, which execute processes in the background. Splash screens allow you to display and update a title screen window while the Virtual Machine for the Java platform (JVM) loads up. And finally, the Desktop class allows developers to open associated applications and fire off emails automatically.

Internationalization provides several new features as well: Locale-sensitive services SPIs for java.text and java.util classes, ResourceBundle enhancements, a new normalizer API that conforms to the Unicode standard, and support for the Japanese imperial era based calendar. Be sure to watch the internationalization site on java.sun.com (http://java.sun.com/j2se/corejava/intl/) for more information.

Finally, Swing provides a healthy amount of enhancements and optimizations in Java SE 6. For those of you that are not familiar with SwingWorker, I highly recommend that you look at this class, which is now included in the core. SwingWorker will help you avoid one of the most common errors when working with Java Swing, which is the failure to move GUI updates off the event dispatching thread.

Drag and drop also has some nice new features, but the one I like the most is not having to select an item (or deselect another item) before dragging it to a drop source. Also, many people have requested that the new GroupLayout, which is the basis for the Matisse layout tool in NetBeans, be included in the core libraries for Java, and the desktop group has complied. No longer will you be required to bundle the Swing layout JAR file with your Matisse-built applications. Finally, for those of you that have worked with JTabbedPanes, the Desktop team has added the ability to place Components in the tab, instead of just a String or an icon. That's nice in the event that you want to place something like a close box in each tab.

All in all, some exciting new directions in the desktop area with the upcoming release of Java SE 6. Be sure to check out the latest offerings from the desktop world at the home page for Java technologies, which is java.sun.com.


Rate and Review
Tell us what you think of the content of this page.
Excellent   Good   Fair   Poor  
Comments:
If you would like a reply to your comment, please submit your email address:
Note: We may not respond to all submitted comments.