Java入门GUI第一章

news2025/1/12 15:49:05

Java入门GUI第一章

一.简介

GUI的核心技术:Swing     AWT

现在GUI逐渐被淘汰,因为:

  1. 界面不美观
  2. 需要jre环境

为什么我们要学习?

  1. 可以写出自己想要的小工具
  2. 工作时候可能会遇到维护Swing界面,概率特别小!
  3. 了解MVC架构,了解监听!

二.AWT

1.介绍 

  1. 包含了很多类和接口!GUI!
  2. 元素:窗口、按钮、文本框
  3. 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程序,后面还会再讲看不懂跳过

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「蓝桥·算法双周赛」第一场公开赛【待补题填坑】

三带一【算法赛】 - 蓝桥云课 (lanqiao.cn) 给定四个字符&#xff0c;判断是否其中有三个相同&#xff0c;另一个与他们不同 #include <bits/stdc.h> void solve() {std::string s;std::cin>>s;char as[0],bs[1],cs[2],ds[3];if(ab&&ac&&a!d) std:…

AdaInf: Data Drift Adaptive Scheduling 阅读笔记

论文原文链接 文章目录 摘要一、背景、动机和主要贡献背景动机主要问题研究挑战 主要贡献 二、实验分析数据漂移对准确性的影响推理的早期退出结构最优请求批处理大小GPU内存通信 三、AdaInf系统设计概览数据漂移感知再训练-推理DAG生成决定数据漂移影响生成再训练推理DAG 数据…

【LeetCode75】第七十三题 用最少数量的箭引爆气球

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 本题和上一题基本一样&#xff0c;上一题是要我们尽量让区间不重叠&#xff0c;而本题是要我们尽量让区间重叠。 所以我们的做法和上一题…

3D Web轻量化工具HOOPS Web Platform助力Rapid DCS快速上市碳估算产品!

总部位于英国的Rapid DCS提供全面的交钥匙解决方案和服务&#xff0c;帮助建筑环境领域的客户充分利用数字化的优势。 Rapid DCS技术总监James Hunter表示&#xff1a;“如今的建筑项目需要一套与20甚至10年前的建筑项目不同的功能。” “例如&#xff0c;虽然成本规划一直很重…

每日汇评:随着上升趋势的恢复,黄金在1950美元上方等待破位

周三早间&#xff0c;黄金价格逼近1950美元&#xff0c;买家纷纷出手&#xff1b; 尽管市场情绪谨慎&#xff0c;但美元与美债交投疲弱&#xff0c;中国的乐观情绪逐渐消退&#xff1b; 金价重拾200日移动均线&#xff0c;但料持续升穿1950美元&#xff1b; 金价正从每盎司1943…

E056-web安全应用-File Inclusion文件包含漏洞进阶

课程名称&#xff1a; E056-web安全应用-File Inclusion文件包含漏洞进阶 课程分类&#xff1a; web安全应用 --------------------------------------------------------------------------------------------------------------------------------- 实验等级: 中级 任…

Python批量替换文件中内容,效率加倍

文章目录 我遇到的问题解决代码我遇到的问题 由于我的SQL文件太大了,手动去替换估计累死…所以需要一个批量替换。其它类似问题,同理处理。 解决代码 # 定义要替换的内容 replacements = {utf8mb4_0900_ai_ci: utf8_general_ci,utf8mb4: utf8 }# 读取文件内容 with open<…

积分球荧光光谱测试光电检测方式有哪些优点?

积分球荧光光谱测试是一种测量光通量的方法&#xff0c;其基本原理是将待测光源放入积分球中&#xff0c;在积分球内壁涂以白色漫反射层&#xff0c;光源发出的光经球壁多次反射后&#xff0c;使整个球壁上的照度均匀分布&#xff0c;再通过球壁上的孔投射到光电探测器上的光通…

Databend hash join spill 设计与实现 | Data Infra 第 16 期

本周六&#xff0c;我们将迎来最新一期的 Data Infra 直播活动&#xff0c;本次活动我们邀请到了 Databend 研发工程师-王旭东&#xff0c;与大家分享主题为《 Databend hash join spill 设计与实现 》的相关知识。 通过本次分享&#xff0c;我们能更加了解 Databend 的 hash …

[发轫之始 百尺竿头] 家多彩居家供应链001号旗舰店正式开业

发轫之始不负期待 家多彩居家供应链001号旗舰店开业盛典于2023年10月17日上午10时18分盛大开幕&#xff0c;家多彩居家供应链品牌经过3个月的沉淀发展&#xff0c;积极探索赛道壁垒、不断尝试创新模式&#xff0c;始终坚持“数字驱动”之路&#xff0c;为广大装修业主筑就一站…

智能体、多模态化大势所趋,探大模型的未来!

导语 | 今年以来&#xff0c;以 ChatGPT 为代表的生成式 AI&#xff0c;在最具挑战性的自然语言处理领域实现革命性突破&#xff0c;在行业掀起新一轮发展热潮。开源大模型正成为人工智能领域的新潮流&#xff0c;AI 大模型在未来将走向何方&#xff1f;今天&#xff0c;我们特…

众和策略:多少成交量才算放大?

成交量是股市中非常重要的指标&#xff0c;常常被用于判别商场活跃度及股票价格涨跌起伏等。可是&#xff0c;要想了解一个股票何时扩展&#xff0c;又需求考虑哪些要素呢&#xff1f;在本文中&#xff0c;我们将从多个角度进行剖析&#xff0c;以便更好地了解多少成交量才算扩…

物联网AI MicroPython传感器学习 之 AHT21B 温湿度传感器

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; 一、产品简介 AHT21B是一款极具性价比的数字温度传感器&#xff0c;其基于AHT21开发的集成式温湿度传感器模块&#xff0c;模块内部配有一个全新设计的ASIC专用芯片、一个经过改进的MEMS半导体电容式湿度传感…

电商独立站小程序开发方案

随着移动互联网的迅速发展&#xff0c;电商行业也逐渐向小程序平台转移。开发一款电商小程序对于拓展销售渠道、提高用户体验、增加用户忠诚度等方面都有着重要的意义。本文将围绕电商小程序的开发背景、需求分析、技术选型、开发流程、风险控制、商业模式和市场前景等方面进行…

【前端学习】—函数防抖(十)

【前端学习】—函数防抖&#xff08;十&#xff09; 一、什么是函数防抖 函数防抖&#xff1a;事件被触发n秒后再执行回调&#xff0c;如果在这n秒内又被触发&#xff0c;则重新计时。 二、代码实现 <script>const searchElement document.getElementById("searc…

目标识别跟踪器

目标识别跟踪器支持热红外视频或者可见光视频单输入或双输入模式。 热红外视频输入支持BT.656视频&#xff0c;可以提供集合热红外相机的版本。 可见光视频输入支持网络RTSP或MIPI&#xff0c;支持主流的变焦相机&#xff0c;可以提供变焦机芯与识别跟踪器一体化版本。 目前支…

喧闹后的思考,比特币现货 ETF 能否成为行业新的曙光

出 品&#xff5c;欧科云链 研究院 作者&#xff5c;Matthew Lee 10月16日&#xff0c;Cointelegraph 丢出重磅炸弹声称 SEC 批准贝莱德的 iShares 的比特币现货 ETF。根据 OKX 的数据&#xff0c;比特币价格在消息公布后立即飙升&#xff0c;达到 $30,535 的高点。但稍后贝莱…

建议收藏!国家公布的非法期刊目录(内含假刊鉴别方式)

非法期刊的基本特征 非法期刊包括&#xff1a;未经新闻出版部门批准&#xff0c;擅自印刷的出版物&#xff1b;伪造假冒别人名称印刷的出版物&#xff1b;没经过国家新闻出版总署批准&#xff0c;非法进口的境外出版物&#xff1b;买卖书号、刊号、版号的出版物。 辨认难度比…

游戏录屏怎么录自己的声音?看这篇就够了!

在游戏过程中&#xff0c;录制屏幕是很重要的&#xff0c;它可以帮助玩家记录游戏中的精彩瞬间&#xff0c;与其他玩家分享游戏的乐趣。同时&#xff0c;录制自己的声音也可以为游戏视频增色添彩&#xff0c;让玩家更好地沉浸在游戏的氛围中。可是游戏录屏怎么录自己的声音呢&a…

【ARM裸机】ARM入门

1.ARM成长史 2.ARM的商业模式和生态系统 ARM只设计CPU&#xff0c;但是不生产CPU 3.为什么使用三星&#xff1a;S5PV210 4.各种版本号 0. ARM和Cortex Cortex就是ARM公司一个系列处理器的名称。比如英特尔旗下处理器有酷睿&#xff0c;奔腾&#xff0c;赛扬。ARM在最初的处理器…