Swing JFC Java

//package com.javadocking.util;
import java.awt.Component;
import java.awt.Container;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Window;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JRootPane;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;
/**
 * This class contains a collection of static utility methods for Swing.
 * 
 * @author Heidi Rakels.
 */
public class SwingUtil
{
  
  /**
   * Gets the root pane of the given component.
   * 
   * @param   component    The component whose root pane is retrieved.
   * @return           The root pane of the component.
   */
  public static JRootPane getRootPane(Component component)
  {
    
    if (component instanceof JRootPane) {
      return (JRootPane)component;
    }
    if (component.getParent() != null) {
      return getRootPane(component.getParent());
    }
    
    // Get the window of the component.
    Window window = SwingUtilities.windowForComponent(component);
    return getRootPane(window);  
    
  }
}