GUI编程如何自学?
组建
- 窗口
- 弹窗
- 面板
- 文本框
- 列表框
- 按钮
- 图片
- 监听事件
- 鼠标事件
- 外挂
- 破解工具
1:简介
Gui的核心技术:Swing AWT
- MVC基础,了解监听器
- 可以写小工具
- 可以维护swing界面
2:AWT
2.1:AWT介绍
- 包含很多类和接口
- 元素:窗口,按钮,文本框
- 组件Componet:
2.2组件和容器
1:Frame
GUI第一个界面
package com.lg.study01;
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);
//设置背景颜色
frame.setBackground(new Color(239, 39, 55));
//弹出窗口的坐标
frame.setLocation(200,200);
//设置大小固定
frame.setResizable(false);
}
}
问题:窗口关闭不了,只能停止Java
回顾封装,一次弹出多个窗口
package com.lg.study01;
import java.awt.*;
public class TestFrame2 {
public static void main(String[] args) {
MyFrame frame1= new MyFrame(100,100,200,200,Color.blue);
MyFrame frame2=new MyFrame(100,300,200,200,Color.black);
MyFrame frame3= new MyFrame(300,100,200,200,Color.green);
MyFrame frame4= new MyFrame(300,300,200,200,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);
setResizable(false);
}
}
2:面板Panel
Panel可以看成一个空间,但是不能单独存在。
解决了窗口关闭问题(监听关闭)
package com.lg.study01;
import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
//Panel
public class TestPanel {
public static void main(String[] args) {
//创建一个窗口
Frame frame=new Frame();
//创建两个面板
Panel panel = new Panel();
Panel panel1 = new Panel();
//Panel坐标,相对于frame
panel.setBounds(10,10,100,100);
panel.setBackground( new Color(200,2,3));
panel1.setBounds(100,10,100,100);
panel1.setBackground( new Color(200,100,3));
//设置布局
frame.setLayout(null);
//frame设置可见性、
frame.setVisible(true);
//frame坐标
frame.setBounds(300