项目示范:

链接:https://pan.baidu.com/s/1RFIeMh5zJwT9tUQrYOO2hA
提取码:1111

1、创建二维码

使用zxing包创建二维码

maven依赖:

<dependency><groupId>com.google.zxing</groupId><artifactId>javase</artifactId><version>3.3.3</version>
</dependency>

代码:

import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import java.nio.file.Path;public class QrcodeUtils {/***生成二维码方法* @param content 内容* @param file  路径*/public static void createQrcode(String content, Path file) throws Exception {try {QRCodeWriter qrCodeWriter = new QRCodeWriter();BitMatrix bm = qrCodeWriter.encode(content, BarcodeFormat.QR_CODE, 400, 400);MatrixToImageWriter.writeToPath(bm, "png", file);} catch (WriterException e) {e.getStackTrace();}}
}

2、使用AWT加载显示

使用 定时器Timer实现了swing窗口的标题每秒更新一次,时间使用完后显示二维码的窗口关闭,并将创建的二维码删除

import javax.swing.*;
import java.awt.*;
import java.util.Timer;
import java.util.TimerTask;public class QRCodeFrame extends JFrame {private Timer updateTitleTimer = new Timer();private Integer time = 180;private String qrcode;//外部调用这个函数加载窗口,显示二维码public void launchFrame(String qrcode) {this.qrcode = qrcode;updateFrameTitle();this.setVisible(true);this.setSize(420, 440);//大小this.setLocation(100, 100);//左上角位置//指定要从本地加载的二维码的路径JPanel jPanel = new QRCodeFrameImage(this.qrcode);this.getContentPane().add(jPanel);//设置始终在窗体层最上面this.setAlwaysOnTop(true);}public void closeWindows(){//setVisible方法仅仅隐藏窗体,而dispose方法是关闭窗体,并释放一部分资源。this.dispose();if(null != updateTitleTimer){updateTitleTimer.cancel();updateTitleTimer=null;}}private void updateFrameTitle(){if(null == updateTitleTimer){return;}//定时器中发布任务,每1000ms执行一次,执行后递归调用自己updateTitleTimer.schedule(new TimerTask() {public void run() {time--;if(time<1){//关闭窗口closeWindows();//将创建的二维码删除deleteFile(qrcode);}setTitle(String.format("请使用微信扫描二维码,%s秒后自动关闭",time));updateFrameTitle();}}, 1000);}public void deleteFile(String filePath){File file = new File(filePath);if(file.exists()){file.delete();}}public int getTime() {return time;}}

Panel 绘制二维码到窗体

import javax.swing.*;
import java.awt.*;public class QRCodeFrameImage extends JPanel {private String imagePath;public QRCodeFrameImage(String imagePath) {this.imagePath = imagePath;}public void paint(Graphics g) {super.paint(g);ImageIcon icon = new ImageIcon(imagePath);g.drawImage(icon.getImage(), 0, 0, 400, 400, this);}}

3、运行结果

java 创建二维码 并加载显示到窗口相关推荐

  1. JAVA实现二维码生成加背景图

    应用场景:比如制作海报.宣传图时需要添加扫码关注的二维码 先上效果图 ( ≧▽≦ ) POM.XML <!-- 二维码生成 --><!-- https://mvnrepository ...

  2. java 创建二维码

    maven依赖 <!--二维码--><dependency><groupId>com.google.zxing</groupId><artifac ...

  3. java创建二维码并赋予url链接

    首先在pom文件中导入有关依赖 <dependency><groupId>com.google.zxing</groupId><artifactId>c ...

  4. 如何使用 Java 生成二维码?

    1. 下载jar包(QRCode.jar) 下载网址如下: QRCode生成二维码网址:http://swetake.com/qrcode/index-e.html 2. maven项目手动引入jar ...

  5. springboot+java生成二维码图片

    接下来将从IDEA创建springboot项目到生成效果图详细地为大家展示二维码的制作过程 1.首先是创建springboot项目 上面的图有红色标记的地方需要填写的,比如项目存放的路径,包名等,其他 ...

  6. JAVA生成二维码QRcode

    JAVA生成二维码QRcode 1 : 配置集成 1.1.配置maven 1.2.配置文件 1.3.logo文件 2 : 代码集成 2.1.加载配置文件 2.2.工具类 2.3.测试类 3 : 测试结 ...

  7. java 生成二维码 QRCode、zxing 两种方式

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

  8. Java实现二维码生成

    title: Java实现二维码生成 categories: "Java" 前言 日前生活上存在很多扫描二维码的场景,支付.加好友-等操作都需要扫描二维码,然后我就在想Java能不 ...

  9. 二维码相关---java生成二维码名片,并且自动保存到手机通讯录中...

    二维码相关---java生成二维码名片,并且自动保存到手机通讯录中... 技术qq交流群:JavaDream:251572072 1.首先介绍一个api.   Zxing是Google提供的关于条码 ...

最新文章

  1. ESPCMS基本导航操作
  2. PHP基础班初学心得:脑洞实验-JS变量存储函数与return的一些问题
  3. CSS3的绝对定位与相对定位
  4. spring定时器(@Scheduled)
  5. Codeigniter 用户登录注册模块
  6. Strings in the Pocket
  7. configparser操作配置文件
  8. 大数据数据量估算_如何估算数据科学项目的数据收集成本
  9. Intellij IDEA 那些隐藏好用的小技巧
  10. JAVA物体运动检测_基于OpenCv的运动物体检测算法
  11. 获取json配置_ASP.NET Core集成Nacos配置中心之适配多格式配置
  12. mysql分页是物理分页_学习MySQL:什么是分页
  13. 【体系结构】Oracle如何保证提交的数据不丢失
  14. 全球及中国创新药产业研发格局及应用价值分析报告2021-2027年
  15. python数据透视表对各列统计_python pandas数据分析基础入门2——(数据格式转换、排序、统计、数据透视表)...
  16. Nginx教程之Rewrite语法规则和开源网站程序伪静态规则详解
  17. 程序员也要学英语——数词攻略
  18. 读取pb模型进行预测
  19. 树莓派4b使用vncview连接报错:Cannot currently show the desktop
  20. Android截取人物头像,Android 图片截取人物头像(仿逗拍)

热门文章

  1. 非线性规划与KTT(一)
  2. 拉格朗日乘子法、对偶、KTT
  3. java如何用雪花算法批量生成唯一编码(保证位数不过长)?
  4. Java用jxl对表格的数值进行比对
  5. 相机对焦和调焦距的区别是什么 ?
  6. C++11 多线程之 packaged_task
  7. 云计算工程师必备技能图谱
  8. python中repr_Python中的repr()函数
  9. illumina不愧是二代测序无冕之王
  10. 【Unity 粒子系统】Lifetime Speed 相关