JLayeredPane分层窗格

package app;
import java.awt.*;
import javax.swing.*;

public class JPanel {
    
    
    public static void main(String[] args){
    
    
    new WindowLayered();
    }
}
class WindowLayered extends JFrame{
    
    
    WindowLayered(){
    
    
        //设置窗口位置
        setBounds(100,100,300,300);
        //设置窗口是否可见
        setVisible(true);
        //设置JLayeredPane分层窗格
        JLayeredPane pane = new JLayeredPane();
        //设置5个按钮
        JButton a1 = new JButton("我在DEFAULT_LAYER"),
                a2 = new JButton("我在PALETTE_LAYER"),
                a3 = new JButton("我在MODAL_LAYER"),
                a4 = new JButton("我在POPUP_LAYER"),
                a5 = new JButton("我在DRAG_LAYER");
        //设置布局方式为null
        pane.setLayout(null);
        //添加按钮并指定按钮所在的层
        pane.add(a5,JLayeredPane.DRAG_LAYER);//最上面的层
        pane.add(a4,JLayeredPane.POPUP_LAYER);
        pane.add(a3,JLayeredPane.MODAL_LAYER);
        pane.add(a2,JLayeredPane.PALETTE_LAYER);
        pane.add(a1,JLayeredPane.DEFAULT_LAYER);//底层
        //设置各个按钮在窗口中的位置
        a5.setBounds(50,50,200,100);
        a4.setBounds(40,40,200,100);
        a3.setBounds(30,30,200,100);
        a2.setBounds(20,20,200,100);
        a1.setBounds(10,10,200,100);
        //重新设置层
        //pane.setLayer(a3,JLayeredPane.PALETTE_LAYER);
        //获取所在层
        //pane.getLayer(a3);
        add(pane);
        validate();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}

猜你喜欢

转载自blog.csdn.net/winds_tide/article/details/117920115