GUI编程
1.AWT
2.1AWT介绍
1. 包含了很多类和接口!GUI!
2. 元素:窗口,按键,文本框
2.2组件和容器
1.Frame
package com.liuzhisheng.lesscn01;
import java.awt.*;
//GOI第一个界面
public class TestFrame {
public static void main(String[] args) {
//Frame,JDK 看源码!
Frame frame= new Frame("我的第一个Java图形界面窗口");
//需要设置可见性 w h
frame.setVisible(true);
//设置窗口大小
frame.setSize(400,400);
//设置背景颜色 Color
// frame.setBackground(Color.pink);
frame.setBackground(new Color(35, 221, 0, 99));
//弹出的初始位置
frame.setLocation(400,400);
//设置大小固定
frame.setResizable(false);
}
}
问题:无法关闭程序,停止Java程序运行
常试回顾封装:
package com.liuzhisheng.lesscn01;
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.pink);
Myframe myframe3=new Myframe(100,300,200,200,Color.GREEN);
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));
setBounds(x, y, w, h);
setVisible(true);
setBackground(color);
setResizable(false);
}
}
2. 面板Panel
解决了关闭事件
package com.liuzhisheng.lesscn01;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
//Panel 面板 可以看成是一个空间,但是不能单独存在
public class TesPanel {
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(Color.GREEN);
//panel设置坐标,相当于frame
panel.setBounds(50,50,400,400);
panel.setBackground(Color.pink);
//frame.add(panel)
frame.add(panel);
frame.setVisible(true);
//监听事件,监听窗口关闭事件System.exit(0)
//适配器模式:
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}