需要的组件
固定的组件
- 窗口
- 弹窗
- 面板
- 文本框
- 列表框
- 图片
可交互的组件
- 监听事件 鼠标事件与键盘事件
常使用JAVA写外挂 破解工具 大部分都是JAVA写的 因为JAVA运行在虚拟机上 虚拟机并不会被屏蔽
简介
核心技术 Swing 和 AWT 这两个对应的库
不流行原因:丑 需要 jre才可以运行
学习GUI的理由:
(1) 学习MVC的架构,了解监听器 (2)写出需要的小工具
AWT是Swing的前身
所以对应AWT比之更底层
AWT
拥有一些类和接口
**元素:文本窗口TextArea 按钮Button 和文本框Label **
容器:窗口和面板
组件 Component AWT之中万物皆组件
组件和容器
关于Frame
import java.awt.*;
public class HelloGUI {
public static void main(String[] args) {
//初始化一个窗口 对应的窗口标题
Frame m = new Frame("随随便便一个窗口");
m.setVisible(true);
//设置窗口对应的大小
m.setSize(800,300);
//设置窗口内部的颜色
m.setBackground(Color.DARK_GRAY);
//设置窗口的位置
m.setLocation(300,300);
//设置窗口是否能够改变大小
m.setResizable(false);
}
}
关于Panel
Panel需要注意设置对应的背景颜色和方位大小
以及必要的需要让Panel能够被看见
有一个布局的概念 Panel需要放在Frame之中
对于frame需要对应的设置布局
Bounds的概念相当于相对位置
需要设置Frame的布局 否则默认为置顶状态
对于Panel相对于Frame一致 对应的布局位置加上颜色
Panel是Component 主要的东西都应该放在 Panel上面
监听事件
退出System.exit(0) 对于Frame的关闭 需要添加 监听 AddWindowListener()
添加窗口监听 直接添加窗口监听不大行 需要大量重写 所以添加对应的适配器 适配器
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//测试Panel类
public class TestPanel {
public static void main(String[] args) {
//创建对应的 frame 因为Panel需要对应的Frame承载
Frame frame = new Frame();
Panel panel = new Panel();
//设置布局 否则将会是默认布局都在左上角
frame.setLayout(null);
frame.setVisible(true);
frame.setResizable(true);
//最关键的是设置好Frame与Panel的颜色和大小
frame.setBackground(new Color(250, 83, 83));
frame.setBounds(50,50,500,500);
//设置Panel的颜色和大小 并且可见
panel.setBackground(new Color(19, 193, 158));
panel.setBounds(40,40,200,200);
panel.setVisible(true);
//在frame中添加panel后 添加对窗体的监听事件
frame.add(panel);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}