1、设计一个登录窗口,窗口的组件及布局如下图所示,要求: (1)验证码(如下图中的“AF3N”)随机生成。 (2)点击登录按钮,判断用户名是否为“dgutlisi”,密码是否为“123456”,输入的验证码是否与随机生成的验证码一致。如果以上三项的输入都正确,弹出“输入正确,登录成功”的提示对话框;否则,弹出“输入错误,请重新输入”的提示对话框,并清除不正确的输入框内的内容。 按下“取消”按钮,关闭窗口,结束程序运行。(用java
时间: 2024-03-26 16:35:31 浏览: 17
好的,以下是一个简单的 Java 实现登录窗口的示例代码,按照您的要求进行设计:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LoginWindow extends JFrame implements ActionListener {
private JLabel usernameLabel, passwordLabel, captchaLabel;
private JTextField usernameField, captchaField;
private JPasswordField passwordField;
private JButton loginButton, cancelButton;
private String captcha;
public LoginWindow() {
setTitle("登录窗口");
setSize(400, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(4, 2));
usernameLabel = new JLabel("用户名:");
usernameField = new JTextField();
passwordLabel = new JLabel("密码:");
passwordField = new JPasswordField();
captchaLabel = new JLabel("验证码:");
captcha = getCaptcha();
captchaField = new JTextField(captcha);
loginButton = new JButton("登录");
loginButton.addActionListener(this);
cancelButton = new JButton("取消");
cancelButton.addActionListener(this);
panel.add(usernameLabel);
panel.add(usernameField);
panel.add(passwordLabel);
panel.add(passwordField);
panel.add(captchaLabel);
panel.add(captchaField);
panel.add(loginButton);
panel.add(cancelButton);
add(panel);
setVisible(true);
}
private String getCaptcha() {
String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 4; i++) {
int index = (int) (Math.random() * str.length());
sb.append(str.charAt(index));
}
return sb.toString();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == loginButton) {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
String inputCaptcha = captchaField.getText();
if (username.equals("dgutlisi") && password.equals("123456") && inputCaptcha.equalsIgnoreCase(captcha)) {
JOptionPane.showMessageDialog(null, "输入正确,登录成功");
} else {
JOptionPane.showMessageDialog(null, "输入错误,请重新输入");
usernameField.setText("");
passwordField.setText("");
captcha = getCaptcha();
captchaField.setText(captcha);
}
} else if (e.getSource() == cancelButton) {
dispose();
}
}
public static void main(String[] args) {
new LoginWindow();
}
}
```
这个示例代码使用了 Java Swing 组件来实现登录窗口,包括文本框、密码框、标签、按钮等。在登录按钮的监听方法中,会判断用户名、密码和验证码是否输入正确,如果都正确,则弹出登录成功的提示对话框,否则弹出输入错误的提示对话框,并清除不正确的输入框内容。按下取消按钮,窗口会被关闭,程序运行结束。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)