import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class LoginFrame extends JFrame {
private JLabel accountLabel;
private JLabel passwordLabel;
private JLabel captchaLabel;
private JTextField accountTextField;
private JPasswordField passwordField;
private JTextField captchaTextField;
private JButton loginButton;
public LoginFrame() {
setTitle("使用");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null); // 居中显示
// 创建账号输入框
accountLabel = new JLabel("账号");
accountTextField = new JTextField(20);
// 创建密码输入框
passwordLabel = new JLabel("密码");
passwordField = new JPasswordField(20);
// 创建验证码输入框和生成按钮
captchaLabel = new JLabel("Captcha:");
captchaTextField = new JTextField(10);
JButton generateCaptchaButton = new JButton("Generate");
// 创建登录按钮
loginButton = new JButton("登录");
// 生成验证码按钮的事件处理
generateCaptchaButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
generateCaptcha();
}
});
// 登录按钮的事件处理
loginButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String account = accountTextField.getText();
String password = String.valueOf(passwordField.getPassword());
String captcha = captchaTextField.getText();
// 在此处添加验证逻辑,比较账号、密码和验证码的正确性
// ...
// 示例:简单地在控制台打印输入的账号、密码和验证码
System.out.println("Account: " + account);
System.out.println("Password: " + password);
System.out.println("Captcha: " + captcha);
}
});
// 使用布局管理器设置界面布局
setLayout(new GridBagLayout());
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 0;
gbc.gridy = 0;
gbc.insets = new Insets(10, 10, 10, 10);
gbc.anchor = GridBagConstraints.WEST;
add(accountLabel, gbc);
gbc.gridy++;
add(passwordLabel, gbc);
gbc.gridy++;
add(captchaLabel, gbc);
gbc.gridx = 1;
gbc.gridy = 0;
add(accountTextField, gbc);
gbc.gridy++;
add(passwordField, gbc);
gbc.gridy++;
add(captchaTextField, gbc);
gbc.gridx = 2;
gbc.gridy = 2;
add(generateCaptchaButton, gbc);
gbc.gridy++;
add(loginButton, gbc);
}
// 生成随机验证码的方法
private void generateCaptcha() {
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 6; i++) {
int index = random.nextInt(chars.length());
sb.append(chars.charAt(index));
}
captchaTextField.setText(sb.toString());
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
}
});
}
}
java 交互界面
发布时间 2023-09-15 12:01:50作者: 财神给你送元宝