jframe制作一个用户登录的窗口
时间: 2024-05-13 21:18:11 浏览: 9
以下是一个简单的用户登录窗口的JFrame制作示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LoginFrame extends JFrame implements ActionListener {
private JLabel labelUsername, labelPassword;
private JTextField textFieldUsername;
private JPasswordField passwordField;
private JButton buttonLogin, buttonCancel;
public LoginFrame() {
setTitle("用户登录");
setSize(300, 200);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
labelUsername = new JLabel("用户名:");
textFieldUsername = new JTextField(20);
labelPassword = new JLabel("密码:");
passwordField = new JPasswordField(20);
buttonLogin = new JButton("登录");
buttonCancel = new JButton("取消");
buttonLogin.addActionListener(this);
buttonCancel.addActionListener(this);
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(labelUsername);
panel.add(textFieldUsername);
panel.add(labelPassword);
panel.add(passwordField);
panel.add(buttonLogin);
panel.add(buttonCancel);
add(panel, BorderLayout.CENTER);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == buttonLogin) {
// 处理登录逻辑
String username = textFieldUsername.getText();
String password = new String(passwordField.getPassword());
if (username.equals("admin") && password.equals("123456")) {
JOptionPane.showMessageDialog(this, "登录成功");
} else {
JOptionPane.showMessageDialog(this, "用户名或密码错误");
}
} else if (e.getSource() == buttonCancel) {
// 关闭窗口
dispose();
}
}
public static void main(String[] args) {
LoginFrame frame = new LoginFrame();
frame.setVisible(true);
}
}
```
该示例中,我们使用JLabel、JTextField、JPasswordField和JButton等Swing组件来构建窗口界面。使用GridLayout布局管理器将这些组件放置到一个JPanel中,再将该面板添加到JFrame中。同时,我们还实现了ActionListener接口来处理登录按钮和取消按钮的点击事件。在登录按钮的事件处理方法中,我们获取用户名和密码,进行简单的判断,如果符合条件则弹出提示框表示登录成功,否则弹出提示框表示用户名或密码错误。在取消按钮的事件处理方法中,我们直接关闭窗口。