<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 05:57:41 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  SwingUtilities
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/SwingUtilities.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../javax/swing/SizeRequirements.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../javax/swing/Timer.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SwingUtilities.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.swing</FONT>
<BR>
Class  SwingUtilities</H2>
<PRE>
java.lang.Object
  |
  +--<B>javax.swing.SwingUtilities</B>
</PRE>
<HR>
<DL>
<DT>public class <B>SwingUtilities</B><DT>extends java.lang.Object<DT>implements <A HREF="../../javax/swing/SwingConstants.html">SwingConstants</A></DL>

<P>
A collection of utility methods for Swing.
<P>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->


<!-- ======== CONSTRUCTOR SUMMARY ======== -->


<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Rectangle[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#computeDifference(java.awt.Rectangle, java.awt.Rectangle)">computeDifference</A></B>(java.awt.Rectangle&nbsp;rectA,
                  java.awt.Rectangle&nbsp;rectB)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience returning an array of rect representing the regions within
 <code>rectA</code> that do not overlap with <code>rectB</code>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#computeIntersection(int, int, int, int, java.awt.Rectangle)">computeIntersection</A></B>(int&nbsp;x,
                    int&nbsp;y,
                    int&nbsp;width,
                    int&nbsp;height,
                    java.awt.Rectangle&nbsp;dest)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience to calculate an intersection of two rectangles without allocating a new rectangle
 Return dest.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#computeStringWidth(java.awt.FontMetrics, java.lang.String)">computeStringWidth</A></B>(java.awt.FontMetrics&nbsp;fm,
                   java.lang.String&nbsp;str)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compute the width of the string using a font with the specified
 "metrics" (sizes).</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#computeUnion(int, int, int, int, java.awt.Rectangle)">computeUnion</A></B>(int&nbsp;x,
             int&nbsp;y,
             int&nbsp;width,
             int&nbsp;height,
             java.awt.Rectangle&nbsp;dest)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience to calculate the union of two rectangles without allocating a new rectangle
 Return dest</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.event.MouseEvent</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#convertMouseEvent(java.awt.Component, java.awt.event.MouseEvent, java.awt.Component)">convertMouseEvent</A></B>(java.awt.Component&nbsp;source,
                  java.awt.event.MouseEvent&nbsp;sourceEvent,
                  java.awt.Component&nbsp;destination)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a MouseEvent similar to <code>sourceEvent</code> except that its x
 and y members have been converted to <code>destination</code>'s coordinate
 system.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Point</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#convertPoint(java.awt.Component, int, int, java.awt.Component)">convertPoint</A></B>(java.awt.Component&nbsp;source,
             int&nbsp;x,
             int&nbsp;y,
             java.awt.Component&nbsp;destination)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the point <code>(x,y)</code> in <code>source</code> coordinate system to
 <code>destination</code> coordinate system.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Point</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#convertPoint(java.awt.Component, java.awt.Point, java.awt.Component)">convertPoint</A></B>(java.awt.Component&nbsp;source,
             java.awt.Point&nbsp;aPoint,
             java.awt.Component&nbsp;destination)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a <code>aPoint</code> in <code>source</code> coordinate system to
 <code>destination</code> coordinate system.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#convertPointFromScreen(java.awt.Point, java.awt.Component)">convertPointFromScreen</A></B>(java.awt.Point&nbsp;p,
                       java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a point from a screen coordinates to a component's 
 coordinate system</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#convertPointToScreen(java.awt.Point, java.awt.Component)">convertPointToScreen</A></B>(java.awt.Point&nbsp;p,
                     java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert a point from a component's coordinate system to
 screen coordinates.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#convertRectangle(java.awt.Component, java.awt.Rectangle, java.awt.Component)">convertRectangle</A></B>(java.awt.Component&nbsp;source,
                 java.awt.Rectangle&nbsp;aRectangle,
                 java.awt.Component&nbsp;destination)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convert the rectangle <code>aRectangle</code> in <code>source</code> coordinate system to
 <code>destination</code> coordinate system.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Component</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#findFocusOwner(java.awt.Component)">findFocusOwner</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the child component which has focus, if any.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../javax/accessibility/Accessible.html">Accessible</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAccessibleAt(java.awt.Component, java.awt.Point)">getAccessibleAt</A></B>(java.awt.Component&nbsp;c,
                java.awt.Point&nbsp;p)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Accessible child contained at the local coordinate
 Point, if one exists.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../javax/accessibility/Accessible.html">Accessible</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAccessibleChild(java.awt.Component, int)">getAccessibleChild</A></B>(java.awt.Component&nbsp;c,
                   int&nbsp;i)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the nth Accessible child of the object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAccessibleChildrenCount(java.awt.Component)">getAccessibleChildrenCount</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of accessible children in the object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAccessibleIndexInParent(java.awt.Component)">getAccessibleIndexInParent</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the index of this object in its accessible parent.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../javax/accessibility/AccessibleStateSet.html">AccessibleStateSet</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAccessibleStateSet(java.awt.Component)">getAccessibleStateSet</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the state of this object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Container</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAncestorNamed(java.lang.String, java.awt.Component)">getAncestorNamed</A></B>(java.lang.String&nbsp;name,
                 java.awt.Component&nbsp;comp)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for searching above <code>comp</code> in the
 component hierarchy and returns the first object of <code>name</code> it
 finds.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Container</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getAncestorOfClass(java.lang.Class, java.awt.Component)">getAncestorOfClass</A></B>(java.lang.Class&nbsp;c,
                   java.awt.Component&nbsp;comp)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method for searching above <code>comp</code> in the
 component hierarchy and returns the first object of class <code>c</code> it
 finds.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Component</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getDeepestComponentAt(java.awt.Component, int, int)">getDeepestComponentAt</A></B>(java.awt.Component&nbsp;parent,
                      int&nbsp;x,
                      int&nbsp;y)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the deepest visible descendent Component of <code>parent</code> 
 that contains the location <code>x</code>, <code>y</code>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getLocalBounds(java.awt.Component)">getLocalBounds</A></B>(java.awt.Component&nbsp;aComponent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return the rectangle (0,0,bounds.width,bounds.height) for the component <code>aComponent</code></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Component</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getRoot(java.awt.Component)">getRoot</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the root component for the current component tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;<A HREF="../../javax/swing/JRootPane.html">JRootPane</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#getRootPane(java.awt.Component)">getRootPane</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If c is a JRootPane descendant return its JRootPane ancestor.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#invokeAndWait(java.lang.Runnable)">invokeAndWait</A></B>(java.lang.Runnable&nbsp;doRun)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Causes <i>doRun.run()</i> to be executed synchronously on the
 AWT event dispatching thread.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#invokeLater(java.lang.Runnable)">invokeLater</A></B>(java.lang.Runnable&nbsp;doRun)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Causes <i>doRun.run()</i> to be executed asynchronously on the
 AWT event dispatching thread.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#isDescendingFrom(java.awt.Component, java.awt.Component)">isDescendingFrom</A></B>(java.awt.Component&nbsp;a,
                 java.awt.Component&nbsp;b)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return <code>true</code> if a component <code>a</code> descends from a component <code>b</code></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#isEventDispatchThread()">isEventDispatchThread</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the current thread is an AWT event dispatching thread.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#isLeftMouseButton(java.awt.event.MouseEvent)">isLeftMouseButton</A></B>(java.awt.event.MouseEvent&nbsp;anEvent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the mouse event specifies the left mouse button.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#isMiddleMouseButton(java.awt.event.MouseEvent)">isMiddleMouseButton</A></B>(java.awt.event.MouseEvent&nbsp;anEvent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the mouse event specifies the middle mouse button.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#isRectangleContainingRectangle(java.awt.Rectangle, java.awt.Rectangle)">isRectangleContainingRectangle</A></B>(java.awt.Rectangle&nbsp;a,
                               java.awt.Rectangle&nbsp;b)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return true if <code>a</code> contains <code>b</code></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#isRightMouseButton(java.awt.event.MouseEvent)">isRightMouseButton</A></B>(java.awt.event.MouseEvent&nbsp;anEvent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the mouse event specifies the right mouse button.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#layoutCompoundLabel(java.awt.FontMetrics, java.lang.String, javax.swing.Icon, int, int, int, int, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, int)">layoutCompoundLabel</A></B>(java.awt.FontMetrics&nbsp;fm,
                    java.lang.String&nbsp;text,
                    <A HREF="../../javax/swing/Icon.html">Icon</A>&nbsp;icon,
                    int&nbsp;verticalAlignment,
                    int&nbsp;horizontalAlignment,
                    int&nbsp;verticalTextPosition,
                    int&nbsp;horizontalTextPosition,
                    java.awt.Rectangle&nbsp;viewR,
                    java.awt.Rectangle&nbsp;iconR,
                    java.awt.Rectangle&nbsp;textR,
                    int&nbsp;textIconGap)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compute and return the location of the icons origin, the
 location of origin of the text baseline, and a possibly clipped
 version of the compound labels string.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#layoutCompoundLabel(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String, javax.swing.Icon, int, int, int, int, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, int)">layoutCompoundLabel</A></B>(<A HREF="../../javax/swing/JComponent.html">JComponent</A>&nbsp;c,
                    java.awt.FontMetrics&nbsp;fm,
                    java.lang.String&nbsp;text,
                    <A HREF="../../javax/swing/Icon.html">Icon</A>&nbsp;icon,
                    int&nbsp;verticalAlignment,
                    int&nbsp;horizontalAlignment,
                    int&nbsp;verticalTextPosition,
                    int&nbsp;horizontalTextPosition,
                    java.awt.Rectangle&nbsp;viewR,
                    java.awt.Rectangle&nbsp;iconR,
                    java.awt.Rectangle&nbsp;textR,
                    int&nbsp;textIconGap)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compute and return the location of the icons origin, the
 location of origin of the text baseline, and a possibly clipped
 version of the compound labels string.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#paintComponent(java.awt.Graphics, java.awt.Component, java.awt.Container, int, int, int, int)">paintComponent</A></B>(java.awt.Graphics&nbsp;g,
               java.awt.Component&nbsp;c,
               java.awt.Container&nbsp;p,
               int&nbsp;x,
               int&nbsp;y,
               int&nbsp;w,
               int&nbsp;h)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Paint a component c on an abitrary graphics g in the
 specified rectangle, specifying the rectangle's upper left corner
 and size.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#paintComponent(java.awt.Graphics, java.awt.Component, java.awt.Container, java.awt.Rectangle)">paintComponent</A></B>(java.awt.Graphics&nbsp;g,
               java.awt.Component&nbsp;c,
               java.awt.Container&nbsp;p,
               java.awt.Rectangle&nbsp;r)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Paint a component c on an abitrary graphics g in the
 specified rectangle, specifying a Rectangle object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#updateComponentTreeUI(java.awt.Component)">updateComponentTreeUI</A></B>(java.awt.Component&nbsp;c)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A simple minded look and feel change: ask each node in the tree
 to updateUI(), i.e.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.awt.Window</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../javax/swing/SwingUtilities.html#windowForComponent(java.awt.Component)">windowForComponent</A></B>(java.awt.Component&nbsp;aComponent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return <code>aComponent</code>'s window</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone, 
equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->


<!-- ========= CONSTRUCTOR DETAIL ======== -->


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="isRectangleContainingRectangle(java.awt.Rectangle, java.awt.Rectangle)"><!-- --></A><H3>
isRectangleContainingRectangle</H3>
<PRE>
public static final boolean <B>isRectangleContainingRectangle</B>(java.awt.Rectangle&nbsp;a,
                                                           java.awt.Rectangle&nbsp;b)</PRE>
<DL>
<DD>Return true if <code>a</code> contains <code>b</code><DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getLocalBounds(java.awt.Component)"><!-- --></A><H3>
getLocalBounds</H3>
<PRE>
public static java.awt.Rectangle <B>getLocalBounds</B>(java.awt.Component&nbsp;aComponent)</PRE>
<DL>
<DD>Return the rectangle (0,0,bounds.width,bounds.height) for the component <code>aComponent</code><DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="convertPoint(java.awt.Component, java.awt.Point, java.awt.Component)"><!-- --></A><H3>
convertPoint</H3>
<PRE>
public static java.awt.Point <B>convertPoint</B>(java.awt.Component&nbsp;source,
                                          java.awt.Point&nbsp;aPoint,
                                          java.awt.Component&nbsp;destination)</PRE>
<DL>
<DD>Convert a <code>aPoint</code> in <code>source</code> coordinate system to
 <code>destination</code> coordinate system.
 If <code>source></code>is null,<code>aPoint</code> is assumed to be in <code>destination</code>'s
 root component coordinate system.
 If <code>destination</code>is null, <code>aPoint</code> will be converted to <code>source</code>'s
 root component coordinate system.
 If both <code>source</code> and <code>destination</code> are null, return <code>aPoint</code>
 without any conversion.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="convertPoint(java.awt.Component, int, int, java.awt.Component)"><!-- --></A><H3>
convertPoint</H3>
<PRE>
public static java.awt.Point <B>convertPoint</B>(java.awt.Component&nbsp;source,
                                          int&nbsp;x,
                                          int&nbsp;y,
                                          java.awt.Component&nbsp;destination)</PRE>
<DL>
<DD>Convert the point <code>(x,y)</code> in <code>source</code> coordinate system to
 <code>destination</code> coordinate system.
 If <code>source></code>is null,<code>(x,y)</code> is assumed to be in <code>destination</code>'s
 root component coordinate system.
 If <code>destination</code>is null, <code>(x,y)</code> will be converted to <code>source</code>'s
 root component coordinate system.
 If both <code>source</code> and <code>destination</code> are null, return <code>(x,y)</code>
 without any conversion.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="convertRectangle(java.awt.Component, java.awt.Rectangle, java.awt.Component)"><!-- --></A><H3>
convertRectangle</H3>
<PRE>
public static java.awt.Rectangle <B>convertRectangle</B>(java.awt.Component&nbsp;source,
                                                  java.awt.Rectangle&nbsp;aRectangle,
                                                  java.awt.Component&nbsp;destination)</PRE>
<DL>
<DD>Convert the rectangle <code>aRectangle</code> in <code>source</code> coordinate system to
 <code>destination</code> coordinate system.
 If <code>source></code>is null,<code>aRectangle</code> is assumed to be in <code>destination</code>'s
 root component coordinate system.
 If <code>destination</code>is null, <code>aRectangle</code> will be converted to <code>source</code>'s
 root component coordinate system.
 If both <code>source</code> and <code>destination</code> are null, return <code>aRectangle</code>
 without any conversion.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAncestorOfClass(java.lang.Class, java.awt.Component)"><!-- --></A><H3>
getAncestorOfClass</H3>
<PRE>
public static java.awt.Container <B>getAncestorOfClass</B>(java.lang.Class&nbsp;c,
                                                    java.awt.Component&nbsp;comp)</PRE>
<DL>
<DD>Convenience method for searching above <code>comp</code> in the
 component hierarchy and returns the first object of class <code>c</code> it
 finds. Can return null, if a class <code>c</code> cannot be found.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getAncestorNamed(java.lang.String, java.awt.Component)"><!-- --></A><H3>
getAncestorNamed</H3>
<PRE>
public static java.awt.Container <B>getAncestorNamed</B>(java.lang.String&nbsp;name,
                                                  java.awt.Component&nbsp;comp)</PRE>
<DL>
<DD>Convenience method for searching above <code>comp</code> in the
 component hierarchy and returns the first object of <code>name</code> it
 finds. Can return null, if <code>name</code> cannot be found.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getDeepestComponentAt(java.awt.Component, int, int)"><!-- --></A><H3>
getDeepestComponentAt</H3>
<PRE>
public static java.awt.Component <B>getDeepestComponentAt</B>(java.awt.Component&nbsp;parent,
                                                       int&nbsp;x,
                                                       int&nbsp;y)</PRE>
<DL>
<DD>Returns the deepest visible descendent Component of <code>parent</code> 
 that contains the location <code>x</code>, <code>y</code>. 
 If <code>parent</code> does not contain the specified location,
 then <code>null</code> is returned.  If <code>parent</code> is not a 
 container, or none of <code>parent</code>'s visible descendents 
 contain the specified location, <code>parent</code> is returned.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>parent</CODE> - the root component to begin the search<DD><CODE>x</CODE> - the x target location<DD><CODE>y</CODE> - the y target location</DL>
</DD>
</DL>
<HR>

<A NAME="convertMouseEvent(java.awt.Component, java.awt.event.MouseEvent, java.awt.Component)"><!-- --></A><H3>
convertMouseEvent</H3>
<PRE>
public static java.awt.event.MouseEvent <B>convertMouseEvent</B>(java.awt.Component&nbsp;source,
                                                          java.awt.event.MouseEvent&nbsp;sourceEvent,
                                                          java.awt.Component&nbsp;destination)</PRE>
<DL>
<DD>Returns a MouseEvent similar to <code>sourceEvent</code> except that its x
 and y members have been converted to <code>destination</code>'s coordinate
 system.  If <code>source</code> is null, <code>sourceEvent</code> x and y members
 are assumed to be into <code>destination<code>'s root component coordinate system.
 If <code>destination</code> is <code>null</code>, the
 returned MouseEvent will be in <code>source</code>'s coordinate system.
 <code>sourceEvent</code> will not be changed. A new event is returned.
 the <code>source</code> field of the returned event will be set
 to <code>destination</code> if destination is non null
 use the translateMouseEvent() method to translate a mouse event from
 one component to another without changing the source.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="convertPointToScreen(java.awt.Point, java.awt.Component)"><!-- --></A><H3>
convertPointToScreen</H3>
<PRE>
public static void <B>convertPointToScreen</B>(java.awt.Point&nbsp;p,
                                        java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Convert a point from a component's coordinate system to
 screen coordinates.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>p</CODE> - a Point object (converted to the new coordinate system)<DD><CODE>c</CODE> - a Component object</DL>
</DD>
</DL>
<HR>

<A NAME="convertPointFromScreen(java.awt.Point, java.awt.Component)"><!-- --></A><H3>
convertPointFromScreen</H3>
<PRE>
public static void <B>convertPointFromScreen</B>(java.awt.Point&nbsp;p,
                                          java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Convert a point from a screen coordinates to a component's 
 coordinate system<DD><DL>
<DT><B>Parameters:</B><DD><CODE>p</CODE> - a Point object (converted to the new coordinate system)<DD><CODE>c</CODE> - a Component object</DL>
</DD>
</DL>
<HR>

<A NAME="windowForComponent(java.awt.Component)"><!-- --></A><H3>
windowForComponent</H3>
<PRE>
public static java.awt.Window <B>windowForComponent</B>(java.awt.Component&nbsp;aComponent)</PRE>
<DL>
<DD>Return <code>aComponent</code>'s window<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isDescendingFrom(java.awt.Component, java.awt.Component)"><!-- --></A><H3>
isDescendingFrom</H3>
<PRE>
public static boolean <B>isDescendingFrom</B>(java.awt.Component&nbsp;a,
                                       java.awt.Component&nbsp;b)</PRE>
<DL>
<DD>Return <code>true</code> if a component <code>a</code> descends from a component <code>b</code><DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="computeIntersection(int, int, int, int, java.awt.Rectangle)"><!-- --></A><H3>
computeIntersection</H3>
<PRE>
public static java.awt.Rectangle <B>computeIntersection</B>(int&nbsp;x,
                                                     int&nbsp;y,
                                                     int&nbsp;width,
                                                     int&nbsp;height,
                                                     java.awt.Rectangle&nbsp;dest)</PRE>
<DL>
<DD>Convenience to calculate an intersection of two rectangles without allocating a new rectangle
 Return dest.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="computeUnion(int, int, int, int, java.awt.Rectangle)"><!-- --></A><H3>
computeUnion</H3>
<PRE>
public static java.awt.Rectangle <B>computeUnion</B>(int&nbsp;x,
                                              int&nbsp;y,
                                              int&nbsp;width,
                                              int&nbsp;height,
                                              java.awt.Rectangle&nbsp;dest)</PRE>
<DL>
<DD>Convenience to calculate the union of two rectangles without allocating a new rectangle
 Return dest<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="computeDifference(java.awt.Rectangle, java.awt.Rectangle)"><!-- --></A><H3>
computeDifference</H3>
<PRE>
public static java.awt.Rectangle[] <B>computeDifference</B>(java.awt.Rectangle&nbsp;rectA,
                                                     java.awt.Rectangle&nbsp;rectB)</PRE>
<DL>
<DD>Convenience returning an array of rect representing the regions within
 <code>rectA</code> that do not overlap with <code>rectB</code>. If the
 two Rects do not overlap, returns an empty array<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isLeftMouseButton(java.awt.event.MouseEvent)"><!-- --></A><H3>
isLeftMouseButton</H3>
<PRE>
public static boolean <B>isLeftMouseButton</B>(java.awt.event.MouseEvent&nbsp;anEvent)</PRE>
<DL>
<DD>Returns true if the mouse event specifies the left mouse button.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>anEvent</CODE> - a MouseEvent object<DT><B>Returns:</B><DD>true if the left mouse button was active</DL>
</DD>
</DL>
<HR>

<A NAME="isMiddleMouseButton(java.awt.event.MouseEvent)"><!-- --></A><H3>
isMiddleMouseButton</H3>
<PRE>
public static boolean <B>isMiddleMouseButton</B>(java.awt.event.MouseEvent&nbsp;anEvent)</PRE>
<DL>
<DD>Returns true if the mouse event specifies the middle mouse button.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>anEvent</CODE> - a MouseEvent object<DT><B>Returns:</B><DD>true if the middle mouse button was active</DL>
</DD>
</DL>
<HR>

<A NAME="isRightMouseButton(java.awt.event.MouseEvent)"><!-- --></A><H3>
isRightMouseButton</H3>
<PRE>
public static boolean <B>isRightMouseButton</B>(java.awt.event.MouseEvent&nbsp;anEvent)</PRE>
<DL>
<DD>Returns true if the mouse event specifies the right mouse button.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>anEvent</CODE> - a MouseEvent object<DT><B>Returns:</B><DD>true if the right mouse button was active</DL>
</DD>
</DL>
<HR>

<A NAME="computeStringWidth(java.awt.FontMetrics, java.lang.String)"><!-- --></A><H3>
computeStringWidth</H3>
<PRE>
public static int <B>computeStringWidth</B>(java.awt.FontMetrics&nbsp;fm,
                                     java.lang.String&nbsp;str)</PRE>
<DL>
<DD>Compute the width of the string using a font with the specified
 "metrics" (sizes).<DD><DL>
<DT><B>Parameters:</B><DD><CODE>fm</CODE> - a FontMetrics object to compute with<DD><CODE>str</CODE> - the String to compute<DT><B>Returns:</B><DD>an int containing the string width</DL>
</DD>
</DL>
<HR>

<A NAME="layoutCompoundLabel(javax.swing.JComponent, java.awt.FontMetrics, java.lang.String, javax.swing.Icon, int, int, int, int, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, int)"><!-- --></A><H3>
layoutCompoundLabel</H3>
<PRE>
public static java.lang.String <B>layoutCompoundLabel</B>(<A HREF="../../javax/swing/JComponent.html">JComponent</A>&nbsp;c,
                                                   java.awt.FontMetrics&nbsp;fm,
                                                   java.lang.String&nbsp;text,
                                                   <A HREF="../../javax/swing/Icon.html">Icon</A>&nbsp;icon,
                                                   int&nbsp;verticalAlignment,
                                                   int&nbsp;horizontalAlignment,
                                                   int&nbsp;verticalTextPosition,
                                                   int&nbsp;horizontalTextPosition,
                                                   java.awt.Rectangle&nbsp;viewR,
                                                   java.awt.Rectangle&nbsp;iconR,
                                                   java.awt.Rectangle&nbsp;textR,
                                                   int&nbsp;textIconGap)</PRE>
<DL>
<DD>Compute and return the location of the icons origin, the
 location of origin of the text baseline, and a possibly clipped
 version of the compound labels string.  Locations are computed
 relative to the viewR rectangle.
 The JComponents orientation (LEADING/TRAILING) will also be taken
 into account and translated into LEFT/RIGHT values accordingly.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="layoutCompoundLabel(java.awt.FontMetrics, java.lang.String, javax.swing.Icon, int, int, int, int, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, int)"><!-- --></A><H3>
layoutCompoundLabel</H3>
<PRE>
public static java.lang.String <B>layoutCompoundLabel</B>(java.awt.FontMetrics&nbsp;fm,
                                                   java.lang.String&nbsp;text,
                                                   <A HREF="../../javax/swing/Icon.html">Icon</A>&nbsp;icon,
                                                   int&nbsp;verticalAlignment,
                                                   int&nbsp;horizontalAlignment,
                                                   int&nbsp;verticalTextPosition,
                                                   int&nbsp;horizontalTextPosition,
                                                   java.awt.Rectangle&nbsp;viewR,
                                                   java.awt.Rectangle&nbsp;iconR,
                                                   java.awt.Rectangle&nbsp;textR,
                                                   int&nbsp;textIconGap)</PRE>
<DL>
<DD>Compute and return the location of the icons origin, the
 location of origin of the text baseline, and a possibly clipped
 version of the compound labels string.  Locations are computed
 relative to the viewR rectangle.
 This layoutCompoundLabel() does not know how to handle LEADING/TRAILING
 values in horizontalTextPosition (they will default to RIGHT) and in
 horizontalAlignment (they will default to CENTER).
 Use the other version of layoutCompoundLabel() instead.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="paintComponent(java.awt.Graphics, java.awt.Component, java.awt.Container, int, int, int, int)"><!-- --></A><H3>
paintComponent</H3>
<PRE>
public static void <B>paintComponent</B>(java.awt.Graphics&nbsp;g,
                                  java.awt.Component&nbsp;c,
                                  java.awt.Container&nbsp;p,
                                  int&nbsp;x,
                                  int&nbsp;y,
                                  int&nbsp;w,
                                  int&nbsp;h)</PRE>
<DL>
<DD>Paint a component c on an abitrary graphics g in the
 specified rectangle, specifying the rectangle's upper left corner
 and size.  The component is reparented to a private
 container (whose parent becomes p) which prevents c.validate() and
 and c.repaint() calls from propogating up the tree.  The intermediate
 container has no other effect.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>g</CODE> - the Graphics object to draw on<DD><CODE>c</CODE> - the Component to draw<DD><CODE>p</CODE> - the intermedate Container<DD><CODE>x</CODE> - an int specifying the left side of the area draw in, in pixels,
           measured from the left edge of the graphics context<DD><CODE>y</CODE> - an int specifying the top of the area to draw in, in pixels
           measured down from the top edge of the graphics context<DD><CODE>w</CODE> - an int specifying the width of the area draw in, in pixels<DD><CODE>h</CODE> - an int specifying the height of the area draw in, in pixels</DL>
</DD>
</DL>
<HR>

<A NAME="paintComponent(java.awt.Graphics, java.awt.Component, java.awt.Container, java.awt.Rectangle)"><!-- --></A><H3>
paintComponent</H3>
<PRE>
public static void <B>paintComponent</B>(java.awt.Graphics&nbsp;g,
                                  java.awt.Component&nbsp;c,
                                  java.awt.Container&nbsp;p,
                                  java.awt.Rectangle&nbsp;r)</PRE>
<DL>
<DD>Paint a component c on an abitrary graphics g in the
 specified rectangle, specifying a Rectangle object.  The component is reparented to a private
 container (whose parent becomes p) which prevents c.validate() and
 and c.repaint() calls from propogating up the tree.  The intermediate
 container has no other effect.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>g</CODE> - the Graphics object to draw on<DD><CODE>c</CODE> - the Component to draw<DD><CODE>p</CODE> - the intermedate Container<DD><CODE>r</CODE> - the Rectangle to draw in</DL>
</DD>
</DL>
<HR>

<A NAME="updateComponentTreeUI(java.awt.Component)"><!-- --></A><H3>
updateComponentTreeUI</H3>
<PRE>
public static void <B>updateComponentTreeUI</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>A simple minded look and feel change: ask each node in the tree
 to updateUI(), i.e. to initialize its UI property with the
 current look and feel.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="invokeLater(java.lang.Runnable)"><!-- --></A><H3>
invokeLater</H3>
<PRE>
public static void <B>invokeLater</B>(java.lang.Runnable&nbsp;doRun)</PRE>
<DL>
<DD>Causes <i>doRun.run()</i> to be executed asynchronously on the
 AWT event dispatching thread.  This will happen after all
 pending AWT events have been processed.  This method should
 be used when an application thread needs to update the GUI.
 In the following example the invokeAndWait() calls queues
 the doHelloWorld Runnable for the event dispatching thread and
 then prints a message.
 <pre>
 Runnable doHelloWorld = new Runnable() {
     public void run() {
         System.out.println("Hello World on " + Thread.currentThread());
     }
 };

 SwingUtilities.invokeAndWait(doHelloWorld);
 System.out.println("Waiting ... ");
 </pre>
 If invokeAndWait is called from the event dispatching thread,
 e.g. from a JButtons ActionListener, the <i>doRun.run()</i> will
 still be deferred till all pending events have been processed.
 Note that if the <i>doRun.run()</i> throws an uncaught exception
 the event dispatching thread will unwind (not the current thread).
 <p>
 Additional documentation and examples for this method can be
 found in <A HREF="http://java.sun.com/products/jfc/swingdoc-archive/threads.html">.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../javax/swing/SwingUtilities.html#invokeAndWait(java.lang.Runnable)"><CODE>invokeAndWait(java.lang.Runnable)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="invokeAndWait(java.lang.Runnable)"><!-- --></A><H3>
invokeAndWait</H3>
<PRE>
public static void <B>invokeAndWait</B>(java.lang.Runnable&nbsp;doRun)
                          throws java.lang.InterruptedException,
                                 java.lang.reflect.InvocationTargetException</PRE>
<DL>
<DD>Causes <i>doRun.run()</i> to be executed synchronously on the
 AWT event dispatching thread.  This call will block until
 all pending AWT events have been processed and (then)
 <i>doRun.run()</i> returns. This method should
 be used when an application thread needs to update the GUI.
 It should not be called from the EventDispatchThread.
 Here's an example that creates a new application thread
 that uses invokeAndWait() to print a string from the event
 dispatching thread and then, when that's finished, print
 a string from the application thread.
 <pre>
 final Runnable doHelloWorld = new Runnable() {
     public void run() {
         System.out.println("Hello World on " + Thread.currentThread());
     }
 };

 Thread appThread = new Thread() {
     public void run() {
         try {
             SwingUtilities.invokeAndWait(doHelloWorld);
         }
         catch (Exception e) {
             e.printStackTrace();
         }
         System.out.println("Finished on " + Thread.currentThread());
     }
 };
 appThread.start();
 </pre>
 Note that if the Runnable.run() method throws an uncaught exception
 (on the event dispatching thread) it's caught and rethrown, as
 an InvocationTargetException, on the callers thread.
 <p>
 Additional documentation and examples for this method can be
 found in <A HREF="http://java.sun.com/products/jfc/swingdoc-archive/threads.html">.<DD><DL>
<DT><B>Throws:</B><DD>java.lang.InterruptedException - If we're interrupted while waiting for
             the event dispatching thread to finish excecuting <i>doRun.run()</i><DD>java.lang.reflect.InvocationTargetException - If <i>doRun.run()</i> throws<DT><B>See Also: </B><DD><A HREF="../../javax/swing/SwingUtilities.html#invokeLater(java.lang.Runnable)"><CODE>invokeLater(java.lang.Runnable)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isEventDispatchThread()"><!-- --></A><H3>
isEventDispatchThread</H3>
<PRE>
public static boolean <B>isEventDispatchThread</B>()</PRE>
<DL>
<DD>Returns true if the current thread is an AWT event dispatching thread.<DD><DL>
<DT><B>Returns:</B><DD>true if the current thread is an AWT event dispatching thread</DL>
</DD>
</DL>
<HR>

<A NAME="getAccessibleIndexInParent(java.awt.Component)"><!-- --></A><H3>
getAccessibleIndexInParent</H3>
<PRE>
public static int <B>getAccessibleIndexInParent</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Get the index of this object in its accessible parent.<DD><DL>
<DT><B>Returns:</B><DD>-1 of this object does not have an accessible parent.
 Otherwise, the index of the child in its accessible parent.</DL>
</DD>
</DL>
<HR>

<A NAME="getAccessibleAt(java.awt.Component, java.awt.Point)"><!-- --></A><H3>
getAccessibleAt</H3>
<PRE>
public static <A HREF="../../javax/accessibility/Accessible.html">Accessible</A> <B>getAccessibleAt</B>(java.awt.Component&nbsp;c,
                                         java.awt.Point&nbsp;p)</PRE>
<DL>
<DD>Returns the Accessible child contained at the local coordinate
 Point, if one exists.<DD><DL>
<DT><B>Returns:</B><DD>the Accessible at the specified location, if it exists</DL>
</DD>
</DL>
<HR>

<A NAME="getAccessibleStateSet(java.awt.Component)"><!-- --></A><H3>
getAccessibleStateSet</H3>
<PRE>
public static <A HREF="../../javax/accessibility/AccessibleStateSet.html">AccessibleStateSet</A> <B>getAccessibleStateSet</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Get the state of this object.<DD><DL>
<DT><B>Returns:</B><DD>an instance of AccessibleStateSet containing the current state
 set of the object<DT><B>See Also: </B><DD><A HREF="../../javax/accessibility/AccessibleState.html"><CODE>AccessibleState</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getAccessibleChildrenCount(java.awt.Component)"><!-- --></A><H3>
getAccessibleChildrenCount</H3>
<PRE>
public static int <B>getAccessibleChildrenCount</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Returns the number of accessible children in the object.  If all
 of the children of this object implement Accessible, than this
 method should return the number of children of this object.<DD><DL>
<DT><B>Returns:</B><DD>the number of accessible children in the object.</DL>
</DD>
</DL>
<HR>

<A NAME="getAccessibleChild(java.awt.Component, int)"><!-- --></A><H3>
getAccessibleChild</H3>
<PRE>
public static <A HREF="../../javax/accessibility/Accessible.html">Accessible</A> <B>getAccessibleChild</B>(java.awt.Component&nbsp;c,
                                            int&nbsp;i)</PRE>
<DL>
<DD>Return the nth Accessible child of the object.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of child<DT><B>Returns:</B><DD>the nth Accessible child of the object</DL>
</DD>
</DL>
<HR>

<A NAME="findFocusOwner(java.awt.Component)"><!-- --></A><H3>
findFocusOwner</H3>
<PRE>
public static java.awt.Component <B>findFocusOwner</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Return the child component which has focus, if any.  The HotJava
 SecurityManager forbids applet access to getFocusOwner(), so if the
 component is an applet, we check whether a JComponent has focus.
 Non-Swing components in an applet on HotJava are out-of-luck,
 unfortunately.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRootPane(java.awt.Component)"><!-- --></A><H3>
getRootPane</H3>
<PRE>
public static <A HREF="../../javax/swing/JRootPane.html">JRootPane</A> <B>getRootPane</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>If c is a JRootPane descendant return its JRootPane ancestor.
 If c is a RootPaneContainer then return its JRootPane.<DD><DL>
<DT><B>Returns:</B><DD>the JRootPane for Component c or null.</DL>
</DD>
</DL>
<HR>

<A NAME="getRoot(java.awt.Component)"><!-- --></A><H3>
getRoot</H3>
<PRE>
public static java.awt.Component <B>getRoot</B>(java.awt.Component&nbsp;c)</PRE>
<DL>
<DD>Returns the root component for the current component tree.<DD><DL>
<DT><B>Returns:</B><DD>the first ancestor of c that's a Window or the last Applet ancestor</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/SwingUtilities.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../javax/swing/SizeRequirements.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../javax/swing/Timer.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="SwingUtilities.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">Submit a bug or feature</a><br>Java is a trademark or registered trademark of Sun Microsystems,  Inc. in the US and other countries.<br>Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.  All Rights Reserved.</font>
</BODY>
</HTML>
