Java入门GUI第一章
一.简介
GUI的核心技术:Swing AWT
现在GUI逐渐被淘汰,因为:
- 界面不美观
 - 需要jre环境
 
为什么我们要学习?
- 可以写出自己想要的小工具
 - 工作时候可能会遇到维护Swing界面,概率特别小!
 - 了解MVC架构,了解监听!
 
二.AWT
1.介绍
- 包含了很多类和接口!GUI!
 - 元素:窗口、按钮、文本框
 - java.awt
 
 

2.组件和容器
(1).frame
单个frame
        // 实例化frame类
        Frame frame = new Frame("这个一个框");
        // 设置可见性
        frame.setVisible(true);
        // 设置窗口大小
        frame.setSize(500, 500);
        // 设置窗口背景颜色,实例化Color类
        frame.setBackground(new Color(50, 70, 300));
        // 设置窗口的弹出位置
        frame.setLocation(300, 300);
        // 设置窗口大小不可拖动改变
        frame.setResizable(false);
 
效果:
问题:无法关闭窗口,停止java程序
多个frame
我们先写一个frame的封装类:
import java.awt.*;
public 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);
        
        // 设置窗口大小与弹出位置,使用Bounds可以同时设置
        setBounds(x, y, w, h);
        
        // 设置窗口背景颜色
        setBackground(color);
    }
}
 
再写测试类:
public class Application {
    public static void main(String[] args) {
        MyFrame myFrame1 = new MyFrame(100, 100, 400, 400, Color.black);
        MyFrame myFrame2 = new MyFrame(500, 100, 400, 400, Color.red);
        MyFrame myFrame3 = new MyFrame(100, 500, 400, 400, Color.blue);
        MyFrame myFrame4 = new MyFrame(500, 500, 400, 400, Color.green);
    }
}
 
效果:
(2).panel 面板
- frame中放置一个固定面板 
// 先完成窗口的设置 Frame frame = new Frame(); frame.setVisible(true); frame.setBounds(300, 300, 500, 500); frame.setBackground(new Color(128, 253, 190)); // 将组件的布局设置为空布局,使你能够手动控制组件的位置和大小。 frame.setLayout(null); // 面板的设置与窗口一样,但是面板在窗口里面要注意位置与大小 // Panel是面板,可以放在窗口中,不能单独存在 Panel panel = new Panel(); frame.setVisible(true); panel.setBounds(50, 50, 400, 400); panel.setBackground(new Color(238, 47, 142)); // 添加面板进窗口, frame.add(panel);效果:

 
解决无法关闭窗口,停止java程序,后面还会再讲看不懂跳过









![[发轫之始 百尺竿头] 家多彩居家供应链001号旗舰店正式开业](https://img-blog.csdnimg.cn/img_convert/5227c65f6a345e5954f2e375bffeb9d3.jpeg)









