This document helps in troubleshooting problems that might occur with applications that use the desktop technologies in the release of Java Platform, Standard Edition Development Kit 6 (JDK 6 release or Java SE 6 release).

Most of the information in this guide also applies to the Java SE 5 release (also known as Java 2 SE 1.5 or 5.0). Information that applies only to Java SE 6 is indicated accordingly.

For help in troubleshooting possible problems between the application and the Java HotSpot virtual machine, see the Troubleshooting Guide for Java SE 6 with HotSpot VM or the Java 2 SE 5.0 Troubleshooting and Diagnostic Guide.

Who Should Use This Guide

The target audience for this document comprises developers who are working with the desktop technologies in Java SE 5 or 6, as well as support or administration personnel who maintain applications that are deployed with Java SE 5 or 6.

This document is intended for readers with a detailed understanding of the desktop technologies, a high-level understanding of the components of the Java Virtual Machine, as well as some understanding of concepts such as garbage collection, threads, native libraries, and so on. In addition, it is assumed that the reader is reasonably proficient on the operating system where the Java SE application is installed.

How This Guide Is Organized

The first chapter of this guide introduces the desktop technologies, presents some general troubleshooting information and guidelines, and introduces some troubleshooting tools.

Further chapters suggest procedures to try when you encounter problems with some of the desktop technologies, namely, AWT, Java 2D, Swing, Internationalization, Java Sound, and Java Plug-in. More desktop technologies will be gradually added to this guide.

The last chapter provides suggestions on what to try before submitting a bug report, guidance on how to submit a report, and suggestions on what data to collect for the report.

Finally, there is an appendix for each of the following reference areas: Java 2D properties, and details about the format of the fatal error report.

Feedback and Suggestions

Troubleshooting is a very important topic. If you have feedback on this document or if you have suggestions for topics that could be covered in a future version, use the Feedback Form. Fill in the relevant fields and click Send.

Note - Do not use this feedback form for support requests; they will not be answered. Technical support is provided at the Services site for Sun Developer Network.

Other Resources

The following additional online troubleshooting resources are available:

Commercial Support

Sun provides a wide range of support offerings, from developer technical support for software developers using Sun development products or technologies, to support for production systems in enterprise environments. Two commercial support options are summarized here: developer technical support and Java mulitplatform support.

Developer Technical Support

Developer technical support is aimed at developers who are using Sun development products or technologies, and who are working at the source-code level of their own applications.

This support offering includes response to technical questions, diagnostic and troubleshooting help, suggestions for best practices, bug escalation, and more.

Details on these support offerings are provided at the Services site for Sun Developer Network. This site steers you to information about developer support from Sun, for example:

Java Multiplatform Support

The Java multiplatform support offering is designed to provide production support for shipping releases of Java technology-based applications using Sun's Java runtime environment (JRE) and distributed to end users in heterogeneous environments. This support offering helps to optimize application performance and to reduce time spent keeping applications up and running.

The highest level of this support offering can include accelerated access to an engineer and emergency software fixes. Details on this support offering are available at the SunSpectrum Java MultiPlatform site.

Community Support

Community support can often be obtained using the Java Technology Forums. The forums provide a way to share information and locate solutions to problems. The forums are located at

Typographic Conventions

The following table describes the typographic conventions that are used in this book.

Typographic Conventions
The names of commands, files, and directories, and onscreen computer output
Edit your .login file.

Use ls -a to list all files.

machine_name% you have mail.

What you type, contrasted with onscreen computer output
machine_name% su


Placeholder: replace with a real name or value
The command to remove a file is rm filename.
Book titles, new terms, and terms to be emphasized
Read Chapter 6 in the User's Guide.

A cache is a copy that is stored locally.

Do not save the file.

Note: Some emphasized items appear bold online.

Shell Prompts in Command Examples

The following table shows the default UNIX system prompt and superuser prompt for shells that are included in the Solaris OS. Note that the default system prompt that is displayed in command examples varies, depending on the Solaris release.

Shell Prompts
Bash shell, Korn shell, and Bourne shell
Bash shell, Korn shell, and Bourne shell for superuser
C shell
C shell for superuser

Related Third-Party Web Site References

Third-party URLs are referenced in this document and provide additional, related information.

Note - Sun is not responsible for the availability of third-party web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods, or services that are available on or through such sites or resources.


Many people contributed input to this guide: Artem Ananiev, Kannan Balasubramanian, Tim Bell, Christopher Campbell, Dmitry Cherepanov, Uday Dhanikonda (responsible engineering manager), Andrei Dmitriev, Denis S. Fokin, Alexander Gerasimov, Jennifer Godinez, Jim Holmlund, Yuka Kamiya, Antonia Lewis (writer), Alexy Menkov, Igor Nekrestyanov, Yuri Nesterenko, Phil Race, Oleg Semenov, Oleg Sukhodolsky, Anton Tarasov, Dmitri Trembovetski (major contributor and coordinator of input and review from Java Client Group).

Document History

The following table tracks the changes in versions of this guide.

Version Date
December 2006
Original version
January 2007
New feedback form; several minor corrections, reorganization, reformatting.
August 2007
Document now applies to both releases 5 and 6 of Java SE. Added advice about when to debug Swing remotely. Format improvements.
September 2008
Fixed broken links.