mvc做一个用户登陆页面
时间: 2023-10-07 22:05:21 浏览: 94
好的,下面是一个简单的MVC模式的用户登录页面示例:
1. 创建一个Model类,包含用户名和密码属性以及验证方法。
```java
public class User {
private String username;
private String password;
public User(String username, String password) {
this.username = username;
this.password = password;
}
public boolean authenticate(String username, String password) {
return this.username.equals(username) && this.password.equals(password);
}
}
```
2. 创建一个View类,包含用户输入框和一个登录按钮。
```java
public class LoginView {
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton;
public LoginView() {
// 创建用户输入框、密码输入框和登录按钮
usernameField = new JTextField(20);
passwordField = new JPasswordField(20);
loginButton = new JButton("登录");
// 将组件添加到面板上
JPanel panel = new JPanel();
panel.add(new JLabel("用户名:"));
panel.add(usernameField);
panel.add(new JLabel("密码:"));
panel.add(passwordField);
panel.add(loginButton);
// 创建一个窗口并将面板添加到窗口上
JFrame frame = new JFrame("用户登录");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
public String getUsername() {
return usernameField.getText().trim();
}
public String getPassword() {
return new String(passwordField.getPassword());
}
public void setLoginListener(ActionListener listener) {
loginButton.addActionListener(listener);
}
public void showMessage(String message) {
JOptionPane.showMessageDialog(null, message);
}
}
```
3. 创建一个Controller类,负责协调Model和View之间的交互。
```java
public class LoginController {
private User user;
private LoginView view;
public LoginController(User user, LoginView view) {
this.user = user;
this.view = view;
view.setLoginListener(new LoginListener());
}
private class LoginListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
String username = view.getUsername();
String password = view.getPassword();
if (user.authenticate(username, password)) {
view.showMessage("登录成功!");
} else {
view.showMessage("用户名或密码错误!");
}
}
}
}
```
4. 在主函数中创建Model、View和Controller对象,并将它们联系起来。
```java
public static void main(String[] args) {
User user = new User("admin", "123456");
LoginView view = new LoginView();
LoginController controller = new LoginController(user, view);
}
```
这样就完成了一个简单的MVC模式的用户登录页面。用户在View中输入用户名和密码,点击登录按钮后Controller会将用户名和密码传递给Model进行验证,最后根据验证结果在View中显示相应的提示信息。