用java swing 写一个mvc架构的登录注册界面
时间: 2023-09-11 14:12:00 浏览: 36
好的,下面是一个简单的Java Swing MVC架构的登录注册界面示例:
首先,我们需要创建一个Model类来处理用户数据:
```java
public class UserModel {
private String username;
private String password;
public UserModel(String username, String password) {
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
}
```
接下来,我们需要创建一个View类来处理用户界面:
```java
public class UserView extends JFrame {
private JTextField usernameField;
private JPasswordField passwordField;
private JButton loginButton;
private JButton registerButton;
public UserView() {
setTitle("Login/Register");
setSize(300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new GridLayout(3, 2));
JLabel usernameLabel = new JLabel("Username:");
add(usernameLabel);
usernameField = new JTextField();
add(usernameField);
JLabel passwordLabel = new JLabel("Password:");
add(passwordLabel);
passwordField = new JPasswordField();
add(passwordField);
loginButton = new JButton("Login");
add(loginButton);
registerButton = new JButton("Register");
add(registerButton);
setVisible(true);
}
public String getUsername() {
return usernameField.getText();
}
public String getPassword() {
return new String(passwordField.getPassword());
}
public void addLoginListener(ActionListener listener) {
loginButton.addActionListener(listener);
}
public void addRegisterListener(ActionListener listener) {
registerButton.addActionListener(listener);
}
}
```
最后,我们需要创建一个Controller类来处理用户输入和Model类之间的交互:
```java
public class UserController {
private UserModel model;
private UserView view;
public UserController(UserModel model, UserView view) {
this.model = model;
this.view = view;
view.addLoginListener(new LoginListener());
view.addRegisterListener(new RegisterListener());
}
class LoginListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String username = view.getUsername();
String password = view.getPassword();
// 进行登录操作
if (username.equals(model.getUsername()) && password.equals(model.getPassword())) {
JOptionPane.showMessageDialog(view, "Login successful!");
} else {
JOptionPane.showMessageDialog(view, "Login failed!");
}
}
}
class RegisterListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String username = view.getUsername();
String password = view.getPassword();
// 进行注册操作
model = new UserModel(username, password);
JOptionPane.showMessageDialog(view, "Registration successful!");
}
}
}
```
最后,我们需要在主方法中实例化所有类:
```java
public static void main(String[] args) {
UserModel model = new UserModel("admin", "password");
UserView view = new UserView();
UserController controller = new UserController(model, view);
}
```
这样就完成了一个简单的Java Swing MVC架构的登录注册界面。