编写Java应用程序,实现使用空布局完成登陆界面设计。当用户点击界面中的“登录”按钮时,获取用户输入的用户名和密码并进行校验,如果账号密码正确,弹出另外一个窗口。如果账号密码错误弹出对话框。单击重置按钮实现账号密码清空。
时间: 2024-03-19 14:43:05 浏览: 15
好的,我可以为您提供一些思路和代码实现。
首先,我们需要创建一个 JFrame 窗口并设置其布局为 null:
```java
import javax.swing.*;
import java.awt.*;
public class Login extends JFrame {
private final JTextField usernameField;
private final JPasswordField passwordField;
public Login() {
setTitle("登录");
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建用户名和密码输入框
JLabel usernameLabel = new JLabel("用户名:");
usernameLabel.setBounds(50, 50, 100, 30);
add(usernameLabel);
usernameField = new JTextField();
usernameField.setBounds(150, 50, 150, 30);
add(usernameField);
JLabel passwordLabel = new JLabel("密码:");
passwordLabel.setBounds(50, 100, 100, 30);
add(passwordLabel);
passwordField = new JPasswordField();
passwordField.setBounds(150, 100, 150, 30);
add(passwordField);
// 创建登录和重置按钮
JButton loginButton = new JButton("登录");
loginButton.setBounds(50, 150, 100, 30);
add(loginButton);
JButton resetButton = new JButton("重置");
resetButton.setBounds(200, 150, 100, 30);
add(resetButton);
// 设置登录按钮的点击事件
loginButton.addActionListener(e -> {
// 获取用户输入的用户名和密码
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
// 进行用户名和密码校验
if ("admin".equals(username) && "123456".equals(password)) {
// 登录成功,弹出新窗口
new MainFrame().setVisible(true);
setVisible(false);
} else {
// 登录失败,弹出对话框
JOptionPane.showMessageDialog(this, "用户名或密码错误");
}
});
// 设置重置按钮的点击事件
resetButton.addActionListener(e -> {
// 清空用户名和密码输入框
usernameField.setText("");
passwordField.setText("");
});
// 设置窗口空布局
setLayout(null);
}
public static void main(String[] args) {
new Login().setVisible(true);
}
}
```
在登录按钮的点击事件中,我们获取用户输入的用户名和密码,然后进行校验。如果输入的用户名和密码都正确,我们就创建一个新的窗口并显示出来,同时关闭当前登录窗口。如果输入的用户名和密码不正确,我们就弹出一个对话框提示用户。
在重置按钮的点击事件中,我们只需要将用户名和密码输入框的文本内容清空即可。
另外,我们还需要创建一个新的 JFrame 窗口作为登录成功后的主界面。这个界面可以根据具体需求进行设计,这里就不再赘述了。
希望这个例子能够帮助到您实现登录界面的设计。