04:Panel面板讲解

Panel 可以看成是一个空间,但是面板不能单独存在
 
思路:
  1. 首先new两个窗口,一个总的窗口frame,一个面板panel
  2. 然后给总窗口设置布局,因为如果不设置布局,会默认置顶,所以让他为null
  3. 然后设置窗口的坐标,又设置了面板的坐标,面板由于添加到了咱们的窗口里面,所以它是一个相对坐标
  4. 最后设置可见性
补充:
添加一个窗口监听事件,这样窗口就能正常退出了
package com.gui.lesson1;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

//Panel  可以看成是一个空间,但是面板不能单独存在
public class TestPanel {
    public static void main(String[] args) {
        Frame frame = new Frame();
        //布局
        Panel panel = new Panel();

        //设置布局,如果不设置会默认置顶
        frame.setLayout(null);

        //坐标
        frame.setBounds(300, 300, 500, 500);
        frame.setBackground(new Color(40, 160, 35));

        //Panel设置坐标 ,相对于frame
        panel.setBounds(50, 50, 400, 400);
        panel.setBackground(new Color(219, 18, 43));

        //frame.add(panel)   Panel继承Container继承Component   因此方法里面可以放面板
        frame.add(panel);

        //设置可见性
        frame.setVisible(true);

        //监听事件,监听窗口关闭事件,点右上角的X能关掉窗口 System.exit(0)
        //适配器模式: 本身是WindowListener接口  要重写许多方法,而只要我们选一个它的子类,我们需要实现哪个方法实现一下这个接口就ok
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭的时候需要做的事情
            @Override
            public void windowClosing(WindowEvent e) {
                //结束程序
                System.exit(0);//1是有异常的退出
            }
        });
    }
}

添加了一个监听事件,点击右上角可以正常退出了
posted @ 2020-03-30 16:15  断浮  阅读(522)  评论(0编辑  收藏  举报