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
格式,在项目目录里。
效果如下:
© 版权声明
- 本博客所拥有的文章除特别声明外,均默认采用 CC BY 4.0 许可协议。
- 文章部分内容可能来源于公共网络,如有侵权,请联系博主在核实后进行修改或删除。
THE END
暂无评论内容