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);
}
});
}
}