RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Java SE 6 First Impressions: A Desktop Winner : Page 2

A veteran Java developer takes the Java Standard Edition 6 beta for a test drive and declares it has the potential to be revolutionary to the desktop.


Desktop Features and Improvements

Java has long been regarded as an excellent language for server-based software, but as second-rate for desktop GUI applications. The Java desktop team at Sun has been working to change this perception by integrating Java more closely with the host system it runs on. The result is not only improved GUI performance in Java SE 6, but also improvements in the behavior of Java GUI applications.

Many of the new desktop features in Java SE 6 are based on the JDesktop Integration Components (JDIC) project. The JDIC project gives Java applications access to features available on the native OS desktop, such as the browser, email editor, file-type associations, the system tray, application launching, and printing. The following are some of the more prominent Java desktop improvements in Java SE 6:

  • Splash screen support—Splash screens inform a user that an application is starting while he waits. Java SE 6 adds support for splash screens that can be displayed even before the JVM starts.
  • Java Foundation Classes (JFC) and Swing Improvements:
    • Java SE 6 leverages Windows APIs to both improve performance and ensure the Windows look-and-feel on current and future versions of Windows.
    • It improves layout management to include customizable layout managers and includes other enhancements to simplify GUI component layout.
    • It has vastly improved Swing drag-and-drop, making it customizable.
    • True double-buffering provides quick, smooth graphic transitions.
  • System Tray Support—Two new classes, SystemTray and TrayIcon, in the java.awt package allow you to add icons, tool tips, and pop-up menus to the Windows or Gnome Linux system tray. The system tray is the desktop area shared by all applications, usually located in the lower-right corner. Actions and events allow your Java application to track mouse clicks on the items you place in the tray, and respond to those clicks. I have found this feature useful for my server applications as well. For instance, used with the Desktop API (see below), I now add an icon to the system tray to easily launch a browser for the application's administrative HTML page. Regardless of OS (Linux or Windows), I no longer need to recall the application's administrative port or URL—simply click the icon and the page appears.
  • Improved print support for JTable
  • Java 2D enhancements—Improvements have been made to text display quality, especially on LCD monitors. Integration with the host desktop's font anti-aliasing settings ensures consistent text rendering.
  • The new java.awt.Desktop API—The new Java SE 6 Desktop package aims to make Java UI applications "first-class citizens." With this package, Java applications can launch the default browser and email client, and integrate with common desktop applications (such as OpenOffice) to open, edit, and print files of specific types. The Desktop package offers this ability through action events (Desktop.Action) that you can integrate into your applications.
  • Internationalization—Java SE 6 supports "plugability" for some locale-specific features, such as date formatting, Unicode text normalization, and resource bundles.

A Java Desktop Revolution

While Java SE 6 provides too many individual feature additions, improvements, and bug fixes to be listed here, this article provides a roadmap to this upcoming, important, Java release. The improvements span so many aspects of the standard edition of Java that all stakeholders will be affected, including those intimate with Java Enterprise Edition.

Java SE 6 has the potential to be as revolutionary to the desktop as Java 2 was to the server. It's best to be prepared for this storm now, and position yourself to cash in on the potential rewards available to the early adopters.

Eric Bruno is a New York-based consultant who has built high-volume Web applications, database systems, and real-time transactional systems in Java and C++. Visit www.ericbruno.com for more about him.
Email AuthorEmail Author
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date