import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Base64;
public class Base64GUI extends JFrame {
private JTextField inputField;
private JTextField outputField;
private JButton encodeButton;
private JButton decodeButton;
public Base64GUI() {
super("Base64 编码/解码工具");
// 设置布局管理器
setLayout(new GridLayout(3, 2, 5, 5));
// 创建组件
inputField = new JTextField();
outputField = new JTextField();
outputField.setEditable(false);
encodeButton = new JButton("加密 (Base64 Encode)");
decodeButton = new JButton("解密 (Base64 Decode)");
// 添加组件到窗口
add(new JLabel("输入文本:"));
add(inputField);
add(encodeButton);
add(decodeButton);
add(new JLabel("输出文本:"));
add(outputField);
// 为按钮添加事件监听器
encodeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
encode();
}
});
decodeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
decode();
}
});
// 设置窗口属性
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setLocationRelativeTo(null);
setVisible(true);
}
private void encode() {
String inputText = inputField.getText();
String encodedText = Base64.getEncoder().encodeToString(inputText.getBytes());
outputField.setText(encodedText);
}
private void decode() {
try {
String inputText = inputField.getText();
byte[] decodedBytes = Base64.getDecoder().decode(inputText);
String decodedText = new String(decodedBytes);
outputField.setText(decodedText);
} catch (IllegalArgumentException e) {
outputField.setText("解密失败:输入的文本不是有效的Base64编码");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new Base64GUI();
}
});
}
}
Java课程设计--base64的加解密
最新推荐文章于 2024-07-30 20:50:32 发布