<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--
Copyright (c) 1998, 2006, Oracle and/or its affiliates. All rights reserved.
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.

This code is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License version 2 only, as
published by the Free Software Foundation.  Oracle designates this
particular file as subject to the "Classpath" exception as provided
by Oracle in the LICENSE file that accompanied this code.

This code is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
version 2 for more details (a copy is included in the LICENSE file that
accompanied this code).

You should have received a copy of the GNU General Public License version
2 along with this work; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
CA 95054 USA or visit www.sun.com if you need additional information or
have any questions.
-->
</head>
<body bgcolor="white">

Contains classes and interfaces used by the <code>JColorChooser</code>
component.

<p>
<strong>Note:</strong>
Most of the Swing API is <em>not</em> thread safe.
For details, see
<a
href="http://java.sun.com/docs/books/tutorial/uiswing/overview/threads.html"
target="_top">Threads and Swing</a>,
a section in
<em><a href="http://java.sun.com/docs/books/tutorial/"
target="_top">The Java Tutorial</a></em>.


<h2>Related Documentation </h2>

This document forms the complete API specification.  For overviews, tutorials, 
examples, guides, and tool documentation, please see:
<ul>
  <li><a href="http://java.sun.com/docs/books/tutorial/uiswing/components/colorchooser.html" target="_top">How to Use Color Choosers</a>, 
      a section in <em>The Java Tutorial</em>

  <li><a href="../../../../technotes/guides/intl/index.html"
      target="_top">Internationalization Documentation</a>

  <li><a href="../../../../technotes/guides/imf/index.html"
      target="_top">Input Method Framework Documentation</a>
</ul>

@since 1.2
@serial exclude

</body>
</html>
