用java:1、设计一个登录窗口,窗口的组件及布局如下图所示,要求: (1)验证码(如下图中的“AF3N”)随机生成。 (2)点击登录按钮,判断用户名是否为“dgutlisi”,密码是否为“123456”,输入的验证码是否与随机生成的验证码一致。如果以上三项的输入都正确,弹出“输入正确,登录成功”的提示对话框;否则,弹出“输入错误,请重新输入”的提示对话框,并清除不正确的输入框内的内容。 (3)按下“取消”按钮,关闭窗口,结束程序运行。(Exp6_01.java)
时间: 2024-03-20 12:41:40 浏览: 46
请注意,我是一名语言模型,无法展示窗口。但我可以提供一下Java代码供您参考:
```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Exp6_01 extends JFrame implements ActionListener{
private JLabel usernameLabel;
private JLabel passwordLabel;
private JLabel verifyCodeLabel;
private JTextField usernameField;
private JPasswordField passwordField;
private JTextField verifyCodeField;
private JButton loginButton;
private JButton cancelButton;
private JLabel verifyCode;
public Exp6_01() {
setTitle("登录窗口");
setBounds(600, 200, 400, 250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container container = getContentPane();
container.setLayout(null);
usernameLabel = new JLabel("用户名:");
usernameLabel.setBounds(50, 30, 100, 25);
container.add(usernameLabel);
passwordLabel = new JLabel("密 码:");
passwordLabel.setBounds(50, 70, 100, 25);
container.add(passwordLabel);
verifyCodeLabel = new JLabel("验证码:");
verifyCodeLabel.setBounds(50, 110, 100, 25);
container.add(verifyCodeLabel);
usernameField = new JTextField();
usernameField.setBounds(110, 30, 200, 25);
container.add(usernameField);
passwordField = new JPasswordField();
passwordField.setBounds(110, 70, 200, 25);
container.add(passwordField);
verifyCodeField = new JTextField();
verifyCodeField.setBounds(110, 110, 80, 25);
container.add(verifyCodeField);
verifyCode = new JLabel(getVerifyCode());
verifyCode.setBounds(200, 110, 80, 25);
container.add(verifyCode);
loginButton = new JButton("登录");
loginButton.setBounds(100, 160, 80, 25);
loginButton.addActionListener(this);
container.add(loginButton);
cancelButton = new JButton("取消");
cancelButton.setBounds(200, 160, 80, 25);
cancelButton.addActionListener(this);
container.add(cancelButton);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
if (event.getSource() == loginButton) {
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
String verifyCode = verifyCodeField.getText();
if (username.equals("dgutlisi") && password.equals("123456") && verifyCode.equals(verifyCode())) {
JOptionPane.showMessageDialog(null, "输入正确,登录成功", "提示", JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "输入错误,请重新输入", "提示", JOptionPane.ERROR_MESSAGE);
usernameField.setText("");
passwordField.setText("");
verifyCodeField.setText("");
verifyCode.setText(getVerifyCode());
}
} else if (event.getSource() == cancelButton) {
dispose();
}
}
private String getVerifyCode() {
String verifyCode = "";
for (int i = 0; i < 4; i++) {
verifyCode += String.valueOf((int)(Math.random() * 10));
}
return verifyCode;
}
public static void main(String[] args) {
new Exp6_01();
}
}
```
在此代码中,我们使用了Java Swing库来构建GUI界面。我们创建了一个JFrame窗口,并向其中添加了各种GUI组件,如JLabel、JTextField、JPasswordField、JButton等。我们还使用了ActionListener接口来监听JButton的点击事件,并在点击事件中编写了登录验证的逻辑。在登录验证中,我们比较了输入的用户名、密码和验证码是否与预期值相等,如果相等则弹出“输入正确,登录成功”的提示对话框,否则弹出“输入错误,请重新输入”的提示对话框,并清除不正确的输入框内的内容。最后我们使用了Math.random()来生成随机验证码。
阅读全文