GUI编程学习

这篇博客介绍了GUI编程的基础知识,包括常用的组件如窗口、文本框、列表框和图片,以及交互组件和事件监听。文章提到了Java Swing和AWT库,并解释了为什么AWT比Swing更底层。此外,还讨论了MVC架构、布局管理和窗口监听,指出学习GUI有助于理解这些概念并创建实用小工具。
摘要由CSDN通过智能技术生成

需要的组件

固定的组件

  • 窗口
  • 弹窗
  • 面板
  • 文本框
  • 列表框
  • 图片

可交互的组件

  • 监听事件 鼠标事件与键盘事件
    常使用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);
            }
        });
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值