java语言根据网址生成二维码

java语言根据网址生成二维码

0.界面介绍

使用Java编写的简单的网址二维码生成器,它具有图形用户界面(GUI)。该程序使用了ZXing库来生成二维码。

代码仅供学习交流,请勿用于非法用途。

效果演示

1.目录结构

目录结构

2.代码

package net.docn;

import net.glxn.qrgen.core.image.ImageType;
import net.glxn.qrgen.javase.QRCode;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;

public class QRCodeGenerator extends JFrame implements ActionListener {
    private JTextField urlTextField;     // 输入URL的文本框
    private JButton generateButton;       // 生成QR码的按钮

    public QRCodeGenerator() {
        setTitle("QR Code Generator");     // 设置窗口标题
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setResizable(false);
        setLayout(new FlowLayout());

        urlTextField = new JTextField(20); // 创建文本框,用于输入URL
        add(urlTextField);

        generateButton = new JButton("Generate QR Code"); // 创建按钮,用于生成QR码
        generateButton.addActionListener(this);
        add(generateButton);

        pack();
        setLocationRelativeTo(null);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == generateButton) {
            String url = urlTextField.getText();
            if (!url.isEmpty()) {
                try {
                    createQRCode(url);   // 调用方法生成QR码
                } catch (IOException ex) {
                    Logger.getLogger(QRCodeGenerator.class.getName()).log(Level.SEVERE, null, ex);
                }
            } else {
                JOptionPane.showMessageDialog(this, "Please enter a URL."); // 如果URL为空,显示提示框
            }
        }
    }

    private void createQRCode(String url) throws IOException {
        // 创建一个File对象来表示QR码图像的输出文件
        File file = new File("qrcode.png");

        // 创建一个输出流对象来写入QR码图像数据到文件
        OutputStream outputStream = new FileOutputStream(file);

        // 使用QRGen库生成QR码,并将图像数据写入输出流
        QRCode.from(url).to(ImageType.PNG).writeTo(outputStream);

        // 关闭输出流
        outputStream.close();

        // 显示成功生成的消息框
        JOptionPane.showMessageDialog(this, "QR Code generated successfully!");
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            new QRCodeGenerator().setVisible(true);
        });
    }
}

3.依赖

<dependency>
            <groupId>net.glxn.qrgen</groupId>
            <artifactId>javase</artifactId>
            <version>2.0</version>
        </dependency>

上述为maven格式,请自行切换。同为maven直接引入即可(阿里源)

4.使用

生成的二维码为.png格式,在项目目录里。

效果如下:

二维码演示

用云无忧
© 版权声明
THE END
喜欢就支持一下吧
点赞16 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容