其他分享
首页 > 其他分享> > AWT: Frame和Panel

AWT: Frame和Panel

作者:互联网

Frame

package com.study.gui;

import java.awt.*;

public class TestFrame {
    public static void main(String[] args) {

        Frame frame=new Frame("我的第一个窗口");

        //设置窗口大小
        frame.setSize(400,400);

        //设置背景颜色
        frame.setBackground(new Color(0, 178, 254));

        //弹窗初始位置
        frame.setLocation(500,500);

        //设置固定大小,不可拉伸
        frame.setResizable(false);

        //显示窗口
        frame.setVisible(true);
    }

}

在这里插入图片描述

通过封装实现多个窗口

package com.study.gui;

import java.awt.*;

public class TestFrame2 {
    public static void main(String[] args) {
        MyFrame myFrame1 = new MyFrame(100,100,300,300,Color.BLUE);
        MyFrame myFrame2 = new MyFrame(400,100,300,300,Color.green);
        MyFrame myFrame3 = new MyFrame(100,400,300,300,Color.PINK);
        MyFrame myFrame4 = new MyFrame(400,400,300,300,Color.red);
    }
}
class  MyFrame extends Frame{
    static int id=0;//可能存在多个窗口,我们需要一个计数器

    public MyFrame(int x, int y,int w,int h,Color color){
        super("MyFrame+"+(++id));
        setBackground(color);
        setBounds(x,y,w,h);
        setVisible(true);
    }
}

在这里插入图片描述

Panel

package com.study.gui;

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

public class TestPanel {
    public static void main(String[] args) {
        Frame frame = new Frame();
        Panel panel = new Panel();

        //设置布局
        frame.setLayout(null);
        //设置Frame坐标
        frame.setBounds(300,300,500,500);
        frame.setBackground(new Color(203, 26, 26));

        //设置panel相对局frame的坐标
        panel.setBounds(50,50,400,400);
        panel.setBackground(new Color(0x245C24));

        frame.add(panel);

        frame.setVisible(true);

        //监听事件,可以关闭窗口 :System.exit(0)
        //通过适配器模式监听
        frame.addWindowListener(new WindowAdapter() {
            //窗口点击关闭时需要做的事
            @Override
            public void windowClosing(WindowEvent e) {
                //结束程序
                System.exit(0);
            }
        });
    }
}

在这里插入图片描述

标签:300,Frame,AWT,public,400,new,frame,MyFrame,Panel
来源: https://blog.csdn.net/qq_48240947/article/details/115802791