Returns the layered pane that is the top level container for the given component - Java Swing

Java examples for Swing:JComponent

Description

Returns the layered pane that is the top level container for the given component

Demo Code

/* Copyright (c) 2011 Danish Maritime Authority.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.//from   w w w.  j  av a  2 s . c  om
 */
//package com.java2s;

import java.awt.Window;

import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLayeredPane;
import javax.swing.JWindow;
import javax.swing.SwingUtilities;

public class Main {
    /**
     * Returns the layered pane that is the top level container for the 
     * given component
     * 
     * @param component the component to fetch the top level container for
     * @return the top level container
     */
    public static JLayeredPane getTopLevelContainer(JComponent component) {
        Window window = SwingUtilities.windowForComponent(component);
        if (window instanceof JWindow) {
            return ((JWindow) window).getLayeredPane();
        } else if (window instanceof JFrame) {
            return ((JFrame) window).getLayeredPane();
        } else if (window instanceof JDialog) {
            return ((JDialog) window).getLayeredPane();
        }
        return null;
    }
}

Related Tutorials