编写Java应用程序,实现使用空布局完成登陆界面设计。当用户点击界面中的“登录”按钮时,获取用户输入的用户名和密码并进行校验,如果账号密码正确,弹出另外一个窗口。如果账号密码错误弹出对话框。单击重置按钮实现账号密码清空
时间: 2024-03-15 20:48:01 浏览: 14
以下是一个使用空布局(null layout)完成登陆界面设计的 Java 应用程序示例代码。注意,使用空布局需要手动设置每个组件的位置和大小,因此需要仔细调整布局以适应不同大小的窗口。
```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() {
// 设置窗口大小和标题
setSize(300, 200);
setTitle("登陆");
// 获取屏幕大小并居中显示窗口
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2);
// 创建用户名和密码输入框
usernameField = new JTextField();
usernameField.setBounds(100, 30, 150, 20);
passwordField = new JPasswordField();
passwordField.setBounds(100, 70, 150, 20);
// 创建标签和按钮
JLabel usernameLabel = new JLabel("用户名:");
usernameLabel.setBounds(30, 30, 60, 20);
JLabel passwordLabel = new JLabel("密 码:");
passwordLabel.setBounds(30, 70, 60, 20);
JButton loginButton = new JButton("登 陆");
loginButton.setBounds(30, 110, 100, 25);
JButton resetButton = new JButton("重 置");
resetButton.setBounds(150, 110, 100, 25);
// 添加监听器
loginButton.addActionListener(this);
resetButton.addActionListener(this);
// 将组件添加到窗口中
add(usernameLabel);
add(usernameField);
add(passwordLabel);
add(passwordField);
add(loginButton);
add(resetButton);
// 设置布局为空布局
setLayout(null);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("登 陆")) {
// 获取用户名和密码
String username = usernameField.getText();
String password = new String(passwordField.getPassword());
// 校验用户名和密码
if (username.equals("admin") && password.equals("123456")) {
JOptionPane.showMessageDialog(this, "登陆成功");
// 打开另一个窗口
new MainFrame().setVisible(true);
setVisible(false);
} else {
JOptionPane.showMessageDialog(this, "用户名或密码错误");
}
} else if (e.getActionCommand().equals("重 置")) {
// 清空用户名和密码
usernameField.setText("");
passwordField.setText("");
}
}
public static void main(String[] args) {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
}
}
class MainFrame extends JFrame {
public MainFrame() {
// 设置窗口大小和标题
setSize(300, 200);
setTitle("主界面");
// 获取屏幕大小并居中显示窗口
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2);
// 创建标签和按钮
JLabel label = new JLabel("欢迎来到主界面");
label.setHorizontalAlignment(SwingConstants.CENTER);
JButton button = new JButton("退 出");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
// 将组件添加到窗口中
add(label, BorderLayout.CENTER);
add(button, BorderLayout.SOUTH);
}
}
```
该程序使用了 `JFrame` 和 `JOptionPane` 等 Swing 组件完成了一个基本的登陆界面和主界面。在登陆界面中,当用户点击“登陆”按钮时,获取用户输入的用户名和密码并进行校验,如果账号密码正确,弹出另外一个窗口。如果账号密码错误弹出对话框。单击重置按钮实现账号密码清空。