GUI编程初步学习一

GUI编程

图形用户界面编程

组件(Component):

​ 窗口、文本框、图片、按钮、监听事件、鼠标

核心技术:Swing AWT(抽象窗口工具包)、界面不美观 (用c++写游戏美观)、需要JRE环境!

为什么学习?

​ MVC架构基础,了解监听

​ 可以写自己想要的小工具

​ 工作需要维护swing界面,概率小

AWT(抽象窗口工具):

​ 包含类 和接口!

​ 元素:窗口 、 按钮、 文本框

​ java.awt

组件和容器:

1. Frame:

package com.hao;

import java.awt.*;

public class TestFrame {
    public static void main(String[] args) {
        Frame frame = new Frame("haohao");//建一个窗口,名字:
        frame.setVisible(true);  //显示窗口
        frame.setSize(400, 400);
        frame.setBackground(new Color(10, 255, 2, 255));
        frame.setLocation(200, 200);

    }

}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-COJosZsR-1618210847132)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210409104941924.png)]

问题: 发现窗口无法关闭,可终止程序运行。

2. 面板Panel

解决关闭事件

package com.hao;
//窗口+面板
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class TestPanel {
    public static void main(String[] args) {
        Frame frame = new Frame();
        Panel panel = new Panel();
        //设置布局,将面板放在里面
        frame.setLayout(null);
        frame.setVisible(true);
        //窗口坐标背景
        frame.setBackground(new Color(1,1,1));
        frame.setBounds(300,300,500,500);
        //面板坐标背景
        panel.setBounds(200,200,400,400);
        panel.setBackground(new Color(2,2,100));
        //窗口添加面板
        frame.add(panel);
        //监听关闭事件
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    }
}

​ 结果图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zvsABx11-1618210847138)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20210410190110011.png)]

3. 布局管理器

流式布局 FlowLayout frame.setLayout(new FlowLayout(FlowLayout.LEFT));

东西南北中 Border frame.add(对象名,BorderLayout.方向);

表格布局 ----三行两列 Grid java.pack() 自动选择布局,大小不用设置 frame.setLayout(new GridLayout(行,列))

总结:

  1. Frame是一个顶级窗口

  2. Panel无法单独显示,必须添加到某个容器中

  3. 布局管理器

    ​ 1.流式

    ​ 2.东南西北中

    ​ 3.表格

  4. 大小,定位,背景颜色,可见性,监听!

4.事件监听

按下按钮,触发事件 button.addActionListener()

class Listener implements ActionListener{

​ }

输入框 TextField监听

TextField num = new TextField(); getText()

优化

组合---->面向对象---->内部类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孩子气哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值