组件和容器
- Frame
package lesson01;
import java.awt.*;
//GUI的第一个界面
public class TestFrame {
public static void main(String[] args) {
//Frame,看源码!!
Frame frame = new Frame("我的第一个java图形窗口");
//需要设置可见性
frame.setVisible(true);
//设置窗口大小 w,h
frame.setSize(400,400);
//设置背景颜色 Color
frame.setBackground(new Color(0, 0, 0, 255));
//弹出的初始位置
frame.setLocation(200,200);
//设置大小固定
frame.setResizable(false);
}
}
![在这里插入图片描述](https://img-blog.csdnimg.cn/bc6650cce6fc427f8bedd88b534199f9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAX8-IKO-9gOKIh8K0Kc-IXw==,size_12,color_FFFFFF,t_70,g_se,x_16)
问题:发现窗口关闭不掉,停止java程序
回顾封装
package lesson01;
import java.awt.*;
public class TestFrame2 {
public static void main(String[] args) {
//展示多个窗口
MyFrame myFrame1 = new MyFrame(100, 100, 200, 200, Color.blue);
MyFrame myFrame2 = new MyFrame(300, 100, 200, 200, Color.yellow);
MyFrame myFrame3 = new MyFrame(100, 300, 200, 200, Color.red);
MyFrame myFrame4 = new MyFrame(300, 300, 200, 200, Color.MAGENTA);
}
}
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);
}
}