AWT
AWT
1 AWT介绍
- 包含很多类和接口!GUI!
- 元素:窗口,按钮,文本框
- java.awt
2 组件和容器
2.1 Frame
package com.deng.lesson01;
import java.awt.*;
//GUI的第一个界面
public class TestFrame {
public static void main(String[] args) {
//Frame JDK 看源码
Frame frame= new Frame("我的第一个Java图像窗口");
//需要设置可见性
frame.setVisible(true);
//设置窗口大小 w .h
frame.setSize(400,400);
//设置背景颜色 color
frame.setBackground(new Color(0x00E156));
//弹出的初始位置
frame.setLocation(100,100);
//设置大小固定
frame.setResizable(false);
}
}
问题: 发现窗口停止不掉,停止java程序!
尝试回顾封装
package com.deng.lesson01;
import java.awt.*;
public class TestFrame2 {
public static void main(String[] args) {
//展示多个窗口 new
MyFrame myFrame1 =new MyFrame(100,100,200,200,Color.blue);
MyFrame myFrame2 =new MyFrame(300,100,200,200,Color.red);
MyFrame myFrame3 =new MyFrame(100,300,200,200,Color.yellow);
MyFrame myFrame4 =new MyFrame(300,300,200,200,Color.green);
}
}
class MyFrame extends Frame{
static int id = 0;//可能有多个窗口,我们需要一个计数器
public MyFrame(int x,int y, int w, int h,Color color){
super("Myframe+"+(++id));
setVisible(true);//可见性
setBackground(color);//背景颜色
setBounds(x,y,w,h);//窗口的初始位置与大小
}
}
2.2 面板Panel
解决了关闭问题
package com.deng.lesson01;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
//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(24, 124, 38));
//Panel设置坐标与背景颜色,相对于frame
panel.setBounds(50,50,400,400);
panel.setBackground(new Color(113, 15, 15));
//frame.add(panel)
frame.add(panel);
frame.setVisible(true);
//监听事件,监听窗口关闭事件 System.exit(0);
//适配器模式:
frame.addWindowListener(new WindowAdapter() {
//窗口点击关闭时需要做的事
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
//结束程序
System.exit(0);
}
});
}
}
浙公网安备 33010602011771号