当前位置: 首页 > news >正文

JAVA GUI 基本使用

package com.lu.gui;import javax.swing.*;
import java.awt.*;public class MyJFrame extends JFrame {public MyJFrame() {this.setBackground(Color.BLACK);this.setResizable(false);this.setSize(500,500);this.setTitle("登录页面");}
}
package com.lu.gui;import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;public class MyJpanel extends JPanel {public MyJpanel(){this.setBackground(Color.black);}@Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);g.setColor(Color.cyan);g.setFont(new Font("微软雅黑",Font.BOLD,20));g.drawString("I like you",250,100);BufferedImage bufferedImage = ImgUtil.readImage("img/l.jpg");g.drawImage(bufferedImage,0,0,500,500,null);//取消居中布局->自定义组件位置this.setLayout(null);//标签组件JLabel jLabel = new JLabel("用户登录:");jLabel.setBounds(100,100,100,30);this.add(jLabel);//单行文本框JTextField jTextField = new JTextField();jTextField.setText("请输入用户名");jTextField.setBounds(160,100,150,30);this.add(jTextField);//标签组件JLabel jLabel1 = new JLabel("密    码:");jLabel1.setBounds(100,150,100,30);this.add(jLabel1);//密码框JPasswordField jPasswordField = new JPasswordField();jPasswordField.setBounds(160,150,150,30);this.add(jPasswordField);JButton jButton = new JButton("登录");jButton.setBounds(180,200,80,20);this.add(jButton);}
}
package com.lu.gui;import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.util.Objects;public class ImgUtil {/*** 读取图片*/public static BufferedImage readImage(String path) {//获取类对象Class<ImgUtil> imgUtilClass = ImgUtil.class;//获取类加载器(系统类加载器)ClassLoader classLoader = imgUtilClass.getClassLoader();//通过类加载器获取内存静态资源InputStream resourceAsStream = classLoader.getResourceAsStream(path);Objects.requireNonNull(resourceAsStream,"请检查文件路径"+path);try {BufferedImage read = ImageIO.read(resourceAsStream);return read;} catch (IOException e) {throw new RuntimeException(e);}}
}
package com.lu.gui;public class Test {public static void main(String[] args) {MyJFrame myJFrame = new MyJFrame();myJFrame.setVisible(true);MyJpanel myJpanel = new MyJpanel();myJFrame.add(myJpanel);}
}

相关文章:

JAVA GUI 基本使用

package com.lu.gui;import javax.swing.*; import java.awt.*;public class MyJFrame extends JFrame {public MyJFrame() {this.setBackground(Color.BLACK);this.setResizable(false);this.setSize(500,500);this.setTitle("登录页面");} }package com.lu.gui;imp…...

【涵子来信】——AI革新:1.新时代是便捷的,要会用

各位读者朋友们&#xff1a; 我们现在AI时代的十字路口&#xff0c;AI是为生活带来便利的&#xff0c;我们要会使用AI。今天这篇文章来讲述一下AI的正确使用。 一、 AI的使用 1.1.便捷之中要会辨别 AI是带来强大的&#xff0c;利用好可以给生活带来便捷。 像之前WWDC24宣传…...

自定义线程池实现(一)

预期目标 1.实现一个相对完备的线程池 2.自定义拒绝策略&#xff08;下一节&#xff09; 线程池的基本参数 1.核心线程数 2.超时时间 3.拒绝策略&#xff08;在下一篇中添加&#xff09; 4.工作队列 5.任务队列 工作机制 当添加一个任务到线程池中时&#xff0c;线程池会…...

计算机毕业设计选题推荐-零食批发商仓库管理系统-Java/Python项目实战

✨作者主页&#xff1a;IT研究室✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

基于springboot+vue+uniapp的校园快递平台小程序

开发语言&#xff1a;Java框架&#xff1a;springbootuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#…...

这两个大龄程序员,打算搞垮一个世界软件巨头!

大家都知道&#xff0c;Adobe是多媒体和数字内容创作者的绝对王者&#xff0c;它的旗下有众多大家耳熟能详的软件&#xff1a;Photoshop、Illustrator、Premiere Pro、After Effects、InDegign、Acrobat、Animate等等。 这些软件使用门槛很高&#xff0c;价格昂贵&#xff0c;安…...

LabVIEW放大器自动测量系统

开发了一个基于LabVIEW平台的多路前置放大器自动测量系统的开发与实施。该系统集成了硬件控制与软件编程&#xff0c;能够实现放大器各项性能指标的快速自动测量&#xff0c;有效提高了测试的精确性和效率。系统设计采用了虚拟仪器技术&#xff0c;结合了先进的测量与控制策略&…...

全面整理人工智能(AI)学习路线图及资源推荐

在人工智能&#xff08;AI&#xff09;飞速发展的今天&#xff0c;掌握AI技术已经成为了许多高校研究者和职场人士的必备技能。从深度学习到强化学习&#xff0c;从大模型训练到实际应用&#xff0c;AI技术的广度和深度不断拓展。作为一名AI学习者&#xff0c;面对浩瀚的知识海…...

react antd upload custom request处理多个文件上传

react antd upload custom request处理多个文件上传的问题 背景&#xff1a;第一次请求需要请求后端返回aws 一个link&#xff0c;再往link push文件&#xff0c;再调用另一个接口告诉后端已经上传成功&#xff0c;拿到返回值。 再把返回值传给业务api... 多文件上传一直是循环…...

ALB快速实现IPv4服务的负载均衡

阿里云应用型负载均衡ALB支持HTTP、HTTPS和QUIC协议&#xff0c;专门面向网络应用层&#xff0c;提供强大的业务处理能力。 为了实现IPv4服务的负载均衡&#xff0c;需要快速创建一个ALB实例&#xff0c;并将来自客户端的访问请求转发至后端服务器。 操作流程 第一步&#x…...

【LLM】-12-部署Langchain-Chatchat-0.3.x版本

目录 1、0.3与0.2的功能对比 2、0.3.x支持多种部署方式 2.3、源码安装 2.3.1、项目源码下载 2.3.2、创建conda环境 2.3.3、安装poetry 2.3.4、安装依赖库 2.3.5、项目初始化 2.3.6、配置文件 2.3.7、初始化知识库 2.3.7、启动服务 2.3.8、配置说明 2.3.8.1、basic_…...

优化网络接收缓存减少数据丢包

视频领域&#xff0c;网络udp数据丢包会引起视频解码花屏。 1、修订单个socket的缓冲区大小&#xff1a;通过setsockopt使用SO_RCVBUF来设置接收缓冲区&#xff0c;该参数在设置的时候不会与rmem_max进行对比校验&#xff0c;但是如果设置的大小超过rmem_max的话&#xff0c;则…...

数据透视——判别分析

文章目录 判别分析简介常用的判别分析方法距离判别贝叶斯判别线性判别分析&#xff08;LDA&#xff09;支持向量机&#xff08;SVM&#xff09;总结 补充 在数据科学的丰富领域中&#xff0c;判别分析扮演着至关重要的角色。它是一种统计方法&#xff0c;用于预测样本数据的类别…...

书生大模型学习笔记 - 连接云端开发机

申请InternStudio开发机&#xff1a; 这里进去报名参加实战营即可获取 书生大模型实战营 InternStudio平台 创建开发机 SSH连接开发机&#xff1a; SSH免密码登录 本地创建SSH密钥 ssh-keygen -t rsa打开以下文件获取公钥 ~/.ssh/id_rsa.pub去InternStudio添加公钥 …...

Python操作符的重载

目录 1、操作符重载的基本概念1.1、常用的操作符重载方法1.1.1、算术操作符1.1.2、比较操作符1.1.3、比其他操作符 1.2、例子 2、应用场景2.1、增强代码的可读性2.2、 实现类的数学运算2.3、支持自定义的数据结构2.4、简化 API 设计2.5、实现链式操作和流式接口 3、总结 Python…...

redis面试(三)Hash数据结构

HASH 哈希&#xff0c;在redis底层实现的时候&#xff0c;数据的结构叫做dict 这个Dict就是一个用于维护key和value映射关系的数据结构&#xff0c;与很多语言中的Map类型相似。 本质上也是一个数组链表的形式存在&#xff0c;不同的点在于&#xff0c;每个dict中是可以存在…...

Java基础语法

注释 注释就是在程序指定位置添加的说明性信息 简单理解&#xff0c;就是对代码的一种解释 注释有三种&#xff1a; 单行注释 格式&#xff1a;//注释信息 多行注释 格式&#xff1a;/*注释信息*/ 文档注释 格式&#xff1a;/**注释信息*/ 注释的注意事项…...

Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战

点击上方"蓝字"关注我们 01、QLineSeries QLineSeries 是 Qt 中的一个类,用于在图表中表示一系列的数据点。它继承自 QAbstractSeries 类,提供了绘制折线图所需的基本功能。 常用的方法包括 append(x, y):向序列中添加一个新的数据点,其中 x 和 y 分别表示横坐…...

公布一批脸书爬虫(facebook)IP地址,真实采集数据

一、数据来源&#xff1a; 1、这批脸书爬虫&#xff08;facebook&#xff09;IP来源于尚贤达猎头公司网站采集数据&#xff1b; ​ 2、数据采集时间段&#xff1a;2023年10月-2024年7月&#xff1b; 3、判断标准&#xff1a;主要根据用户代理是否包含“facebook”和IP核实。…...

Package.Json 参数配置理解用途

"dev": "SET NODE_OPTIONS--openssl-legacy-provider & vue-cli-service serve --open" 这行命令首先设置环境变量NODE_OPTIONS&#xff0c;添加了--openssl-legacy-provider标志。这个标志用于解决某些情况下Node.js在Windows系统上使用OpenSSL时可能…...

Qwen3-VL-4B Pro行业案例:法律合同截图关键条款提取与语义摘要生成

Qwen3-VL-4B Pro行业案例&#xff1a;法律合同截图关键条款提取与语义摘要生成 1. 项目核心能力与应用场景 想象一下&#xff0c;你是一名法务人员或商务经理&#xff0c;每天需要审阅大量来自邮件、聊天记录或扫描件的合同截图。这些截图里包含了付款条款、违约责任、保密协…...

别再只用Billboard了!用Cesium Entity实现高性能动态告警点的3个优化技巧

突破性能瓶颈&#xff1a;Cesium Entity动态告警点的高阶优化实战 当三维场景中需要同时呈现数百个闪烁的告警点时&#xff0c;许多开发者会发现原本流畅的界面开始变得卡顿。这不是Cesium的局限性&#xff0c;而是我们可能还没有完全掌握其性能优化的精髓。本文将带您深入探索…...

告别误报!用FR2V H00磁通门传感器搞定充电桩直流漏电检测(附IEC 62955标准解读)

破解充电桩直流漏电检测难题&#xff1a;FR2V H00磁通门传感器的工程实践 800V高压快充技术正在重塑电动汽车充电体验&#xff0c;但随之而来的直流漏电检测难题却让不少工程师夜不能寐。想象一下&#xff0c;一个价值百万的充电桩因为误报停机&#xff0c;或者更糟——漏报导致…...

**发散创新:用Rust构建Web3.0去中心化身份(DID)验证服务**在Web3.0时代,用户不再依赖中心化的身份提供商(

发散创新&#xff1a;用Rust构建Web3.0去中心化身份&#xff08;DID&#xff09;验证服务 在Web3.0时代&#xff0c;用户不再依赖中心化的身份提供商&#xff08;如Google、微信登录&#xff09;&#xff0c;而是通过去中心化身份&#xff08;Decentralized Identity, DID&…...

Hive【从SQL到MapReduce:核心架构与执行引擎深度解析】

1. Hive的核心角色&#xff1a;SQL到分布式计算的翻译官 第一次接触Hive时&#xff0c;很多人会疑惑&#xff1a;为什么要在Hadoop生态中引入这样一个"类SQL"工具&#xff1f;这要从大数据处理的痛点说起。想象你面前有一本百万页的百科全书&#xff0c;现在需要统计…...

从手机到充电宝:拆解NTC热敏电阻在消费电子里的那些‘保命’用法

从手机到充电宝&#xff1a;拆解NTC热敏电阻在消费电子里的那些‘保命’用法 当你手握发烫的手机时&#xff0c;是否想过是什么在默默守护着电池的安全&#xff1f;当快充头以惊人速度输送电能时&#xff0c;又是什么在防止电路因过热而损毁&#xff1f;答案往往藏在一块米粒大…...

从‘饱和度’到‘肤色正常’:深入理解CCM色彩校正矩阵的调试逻辑与参数关系

从‘饱和度’到‘肤色正常’&#xff1a;深入理解CCM色彩校正矩阵的调试逻辑与参数关系 在数字图像处理领域&#xff0c;色彩校正矩阵&#xff08;Color Correction Matrix&#xff0c;CCM&#xff09;的调试一直是工程师们面临的技术难点之一。不同于简单的参数调整&#xff0…...

CVPR/ICML/TMI顶会风向标:医学图像分割三大落地范式,从模型精调到临床闭环

1. 医学图像分割的临床落地挑战与范式转变 医学图像分割作为AI在医疗领域最成熟的应用之一&#xff0c;正经历着从实验室精度竞赛到临床实用落地的关键转型。我在参与多家三甲医院PACS系统智能化改造时发现&#xff0c;临床医生对算法的需求呈现明显的"三高"特征&…...

GLM-OCR性能基准测试报告:对比不同GPU型号上的推理速度与成本

GLM-OCR性能基准测试报告&#xff1a;对比不同GPU型号上的推理速度与成本 最近在做一个文档数字化的项目&#xff0c;需要处理大量扫描件和图片里的文字。选型的时候&#xff0c;自然就盯上了各种OCR模型。GLM-OCR作为国产大模型阵营里的一员&#xff0c;表现一直挺亮眼&#…...

Mplus路径系数差异比较实战:两种方法详解与选择指南

Mplus路径系数差异比较实战&#xff1a;两种方法详解与选择指南 在结构方程模型分析中&#xff0c;研究者常常需要比较不同路径系数或中介效应是否存在显著差异。比如&#xff0c;你可能想知道性别对工作满意度的直接影响是否显著大于其对组织承诺的影响&#xff0c;或者比较两…...