java swing登录注册界面设计代码
时间: 2023-07-09 15:33:50 浏览: 79
以下是Java Swing登录注册界面的设计与代码示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LoginAndRegister extends JFrame implements ActionListener {
// 登录界面组件
JLabel loginLabel = new JLabel("用户名:");
JTextField loginText = new JTextField(20);
JLabel passwordLabel = new JLabel("密码:");
JPasswordField passwordText = new JPasswordField(20);
JButton loginButton = new JButton("登录");
JButton registerButton = new JButton("注册");
JPanel loginPanel = new JPanel();
// 注册界面组件
JLabel registerLabel = new JLabel("请填写注册信息:");
JLabel registerUserLabel = new JLabel("用户名:");
JTextField registerUserText = new JTextField(20);
JLabel registerPasswordLabel = new JLabel("密码:");
JPasswordField registerPasswordText = new JPasswordField(20);
JLabel registerConfirmPasswordLabel = new JLabel("确认密码:");
JPasswordField registerConfirmPasswordText = new JPasswordField(20);
JButton confirmButton = new JButton("确认");
JButton cancelButton = new JButton("取消");
JPanel registerPanel = new JPanel();
public LoginAndRegister() {
super("登录/注册");
// 设置组件大小和布局
setSize(400, 250);
loginPanel.setLayout(new GridLayout(3, 2));
registerPanel.setLayout(new GridLayout(5, 2));
// 添加登录界面组件
loginPanel.add(loginLabel);
loginPanel.add(loginText);
loginPanel.add(passwordLabel);
loginPanel.add(passwordText);
loginPanel.add(loginButton);
loginPanel.add(registerButton);
add(loginPanel);
// 添加注册界面组件
registerPanel.add(registerLabel);
registerPanel.add(new JLabel(""));
registerPanel.add(registerUserLabel);
registerPanel.add(registerUserText);
registerPanel.add(registerPasswordLabel);
registerPanel.add(registerPasswordText);
registerPanel.add(registerConfirmPasswordLabel);
registerPanel.add(registerConfirmPasswordText);
registerPanel.add(confirmButton);
registerPanel.add(cancelButton);
// 监听按钮事件
loginButton.addActionListener(this);
registerButton.addActionListener(this);
confirmButton.addActionListener(this);
cancelButton.addActionListener(this);
// 设置窗口居中显示
setLocationRelativeTo(null);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == loginButton) {
// 处理登录按钮事件
String username = loginText.getText();
String password = new String(passwordText.getPassword());
// TODO: 处理登录逻辑
} else if (e.getSource() == registerButton) {
// 切换到注册界面
getContentPane().remove(loginPanel);
getContentPane().add(registerPanel);
getContentPane().validate();
} else if (e.getSource() == confirmButton) {
// 处理注册按钮事件
String username = registerUserText.getText();
String password = new String(registerPasswordText.getPassword());
String confirmPassword = new String(registerConfirmPasswordText.getPassword());
// TODO: 处理注册逻辑
} else if (e.getSource() == cancelButton) {
// 切换到登录界面
getContentPane().remove(registerPanel);
getContentPane().add(loginPanel);
getContentPane().validate();
}
}
public static void main(String[] args) {
new LoginAndRegister();
}
}
```
以上代码中,`LoginAndRegister` 类继承自 `JFrame`,实现了 `ActionListener` 接口,用于监听按钮事件。登录界面和注册界面都用了 `JPanel` 来布局,然后根据按钮事件来切换界面。登录按钮和注册按钮的事件处理逻辑需要根据实际情况来编写。