编写Java应用程序,实现使用空布局完成登陆界面设计。当用户点击界面中的“登录”按钮时,获取用户输入的用户名和密码并进行校验,如果账号密码正确,弹出另外一个窗口。如果账号密码错误弹出对话框。单击重置按钮实现账号密码清空
时间: 2024-03-16 20:46:48 浏览: 68
好的,我来回答你的问题。
首先,需要使用 Java Swing 实现界面的设计。采用空布局的话,需要手动设置每个组件的位置和大小。可以使用 JFrame 作为主窗口,然后在上面添加 JLabel、JTextField、JPasswordField 和 JButton 等组件。
当用户点击“登录”按钮时,需要获取用户名和密码,并进行校验。可以使用 ActionListener 监听器来实现监听按钮点击事件。在事件处理方法中,获取用户名和密码,然后进行校验。如果账号密码正确,弹出另外一个窗口,可以使用 JDialog 实现。如果账号密码错误,弹出对话框,可以使用 JOptionPane 实现。
当用户点击“重置”按钮时,可以使用 ActionListener 监听器实现监听按钮点击事件,并在事件处理方法中清空账号密码。
下面是一个简单的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class LoginFrame extends JFrame implements ActionListener {
private JTextField usernameField;
private JPasswordField passwordField;
public LoginFrame() {
super("登录");
// 设置空布局
setLayout(null);
// 添加用户名标签和输入框
JLabel usernameLabel = new JLabel("用户名:");
usernameLabel.setBounds(50, 50, 80, 25);
add(usernameLabel);
usernameField = new JTextField(20);
usernameField.setBounds(130, 50, 150, 25);
add(usernameField);
// 添加密码标签和输入框
JLabel passwordLabel = new JLabel("密 码:");
passwordLabel.setBounds(50, 90, 80, 25);
add(passwordLabel);
passwordField = new JPasswordField(20);
passwordField.setBounds(130, 90, 150, 25);
add(passwordField);
// 添加登录按钮和重置按钮
JButton loginButton = new JButton("登录");
loginButton.setBounds(50, 130, 80, 25);
add(loginButton);
loginButton.addActionListener(this);
JButton resetButton = new JButton("重置");
resetButton.setBounds(200, 130, 80, 25);
add(resetButton);
resetButton.addActionListener(this);
// 设置窗口大小和可见性
setSize(350, 220);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("登录")) {
// 获取用户名和密码
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
// 进行校验,这里简单地用 admin 和 123456 作为正确的账号密码
if (username.equals("admin") && password.equals("123456")) {
// 弹出另一个窗口
JOptionPane.showMessageDialog(this, "登录成功");
JDialog dialog = new JDialog(this, "欢迎");
JLabel label = new JLabel("欢迎你," + username);
dialog.add(label);
dialog.setSize(200, 100);
dialog.setLocationRelativeTo(null);
dialog.setVisible(true);
} else {
// 弹出对话框
JOptionPane.showMessageDialog(this, "用户名或密码错误");
}
} else if (e.getActionCommand().equals("重置")) {
// 清空用户名和密码
usernameField.setText("");
passwordField.setText("");
}
}
public static void main(String[] args) {
new LoginFrame();
}
}
```
希望能对你有所帮助!
阅读全文