Mega Code Archive

 
Categories / Java / Swing JFC
 

Gets the layered pane of the window of the given component

//package com.javadocking.util; import java.awt.Window; 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 layered pane of the window of the given component.    * The window of the root pane should be a javax.swing.JFrame, javax.swing.JDialog    * or javax.swing.JWindow. Otherwise the layered pane of the rootpane is returned.    *     * @param   rootPane    The root pane whose layered pane is retrieved.    * @return           The layered pane.    */   public static JLayeredPane getLayeredPane(JRootPane rootPane)   {          // Get the window of the component.     Window window = SwingUtilities.getWindowAncestor(rootPane);     if (window != null)     {       // Get the layered pane if we can find one.       if (window instanceof JFrame)          return ((JFrame)window).getLayeredPane();       if (window instanceof JDialog)          return ((JDialog)window).getLayeredPane();       if (window instanceof JWindow)          return ((JWindow)window).getLayeredPane();     }     // Get the layered pane of the root pane immediately.     return rootPane.getLayeredPane();        } }