当前位置: 首页 > 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);}
}

http://www.lryc.cn/news/411025.html

相关文章:

  • 【涵子来信】——AI革新:1.新时代是便捷的,要会用
  • 自定义线程池实现(一)
  • 计算机毕业设计选题推荐-零食批发商仓库管理系统-Java/Python项目实战
  • 基于springboot+vue+uniapp的校园快递平台小程序
  • 这两个大龄程序员,打算搞垮一个世界软件巨头!
  • LabVIEW放大器自动测量系统
  • 全面整理人工智能(AI)学习路线图及资源推荐
  • react antd upload custom request处理多个文件上传
  • ALB快速实现IPv4服务的负载均衡
  • 【LLM】-12-部署Langchain-Chatchat-0.3.x版本
  • 优化网络接收缓存减少数据丢包
  • 数据透视——判别分析
  • 书生大模型学习笔记 - 连接云端开发机
  • Python操作符的重载
  • redis面试(三)Hash数据结构
  • Java基础语法
  • Qt | QChart+QChartView+QLineSeries(折线图)+QBarSeries(柱状图)实战
  • 公布一批脸书爬虫(facebook)IP地址,真实采集数据
  • Package.Json 参数配置理解用途
  • k3:增加触发器,当外协单和报料单新增时,更新生产任务单的“说明”栏
  • 神奇海洋养鱼小程序游戏广告联盟流量主休闲小游戏源码
  • 分享几个适合普通人的AI副业变现思路
  • 如何使用CANoe自带的TCP/IP Stack验证TCP的零窗口探测机制
  • 二进制搭建 Kubernetes v1.20(中)
  • Scrapy 爬取旅游景点相关数据(七):利用指纹实现“不重复爬取”
  • java的对象向上转型
  • Navicat Premium 16破解
  • 【C/C++】C语言到C++的入门知识点(主要适用于C语言精通到Qt的C++开发入门)
  • docker 建木 发版 (详细教程)
  • 什么样的人适合学习网络安全?