JavaSwing开发一个好看的登入和注册页面
时间: 2024-05-13 07:16:43 浏览: 6
好的,我可以给你提供一个简单的JavaSwing登入和注册页面的示例代码。你可以根据你的需求进行修改和美化,使其更加个性化和美观。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LoginAndRegister extends JFrame implements ActionListener {
// 登入和注册页面的组件
private JLabel titleLabel;
private JLabel usernameLabel;
private JLabel passwordLabel;
private JTextField usernameText;
private JPasswordField passwordText;
private JButton loginButton;
private JButton registerButton;
// 注册页面的组件
private JFrame registerFrame;
private JLabel registerTitleLabel;
private JLabel registerUsernameLabel;
private JLabel registerPasswordLabel;
private JLabel registerConfirmPasswordLabel;
private JTextField registerUsernameText;
private JPasswordField registerPasswordText;
private JPasswordField registerConfirmPasswordText;
private JButton registerConfirmButton;
private JButton registerCancelButton;
public LoginAndRegister() {
// 设置登入页面的标题和大小
setTitle("Login");
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建登入页面的组件
titleLabel = new JLabel("Login", JLabel.CENTER);
usernameLabel = new JLabel("Username:");
passwordLabel = new JLabel("Password:");
usernameText = new JTextField(20);
passwordText = new JPasswordField(20);
loginButton = new JButton("Login");
registerButton = new JButton("Register");
// 设置组件的位置和大小
titleLabel.setBounds(0, 20, 500, 50);
titleLabel.setFont(new Font("Arial", Font.BOLD, 36));
usernameLabel.setBounds(50, 100, 100, 30);
usernameText.setBounds(150, 100, 200, 30);
passwordLabel.setBounds(50, 150, 100, 30);
passwordText.setBounds(150, 150, 200, 30);
loginButton.setBounds(100, 200, 100, 30);
loginButton.addActionListener(this);
registerButton.setBounds(250, 200, 100, 30);
registerButton.addActionListener(this);
// 将组件添加到登入页面中
add(titleLabel);
add(usernameLabel);
add(usernameText);
add(passwordLabel);
add(passwordText);
add(loginButton);
add(registerButton);
// 显示登入页面
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == loginButton) {
// 登入按钮被点击
String username = usernameText.getText();
String password = new String(passwordText.getPassword());
// TODO: 根据用户名和密码进行登入操作
} else if (e.getSource() == registerButton) {
// 注册按钮被点击
showRegisterFrame();
} else if (e.getSource() == registerConfirmButton) {
// 注册确认按钮被点击
String username = registerUsernameText.getText();
String password = new String(registerPasswordText.getPassword());
String confirmPassword = new String(registerConfirmPasswordText.getPassword());
// TODO: 根据用户名和密码进行注册操作
// 注册成功后关闭注册页面
registerFrame.dispose();
} else if (e.getSource() == registerCancelButton) {
// 注册取消按钮被点击
registerFrame.dispose();
}
}
private void showRegisterFrame() {
// 创建注册页面的组件
registerFrame = new JFrame("Register");
registerFrame.setSize(500, 300);
registerFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
registerTitleLabel = new JLabel("Register", JLabel.CENTER);
registerUsernameLabel = new JLabel("Username:");
registerPasswordLabel = new JLabel("Password:");
registerConfirmPasswordLabel = new JLabel("Confirm Password:");
registerUsernameText = new JTextField(20);
registerPasswordText = new JPasswordField(20);
registerConfirmPasswordText = new JPasswordField(20);
registerConfirmButton = new JButton("Confirm");
registerConfirmButton.addActionListener(this);
registerCancelButton = new JButton("Cancel");
registerCancelButton.addActionListener(this);
registerTitleLabel.setBounds(0, 20, 500, 50);
registerTitleLabel.setFont(new Font("Arial", Font.BOLD, 36));
registerUsernameLabel.setBounds(50, 100, 100, 30);
registerUsernameText.setBounds(150, 100, 200, 30);
registerPasswordLabel.setBounds(50, 150, 100, 30);
registerPasswordText.setBounds(150, 150, 200, 30);
registerConfirmPasswordLabel.setBounds(50, 200, 100, 30);
registerConfirmPasswordText.setBounds(150, 200, 200, 30);
registerConfirmButton.setBounds(100, 250, 100, 30);
registerCancelButton.setBounds(250, 250, 100, 30);
registerFrame.add(registerTitleLabel);
registerFrame.add(registerUsernameLabel);
registerFrame.add(registerUsernameText);
registerFrame.add(registerPasswordLabel);
registerFrame.add(registerPasswordText);
registerFrame.add(registerConfirmPasswordLabel);
registerFrame.add(registerConfirmPasswordText);
registerFrame.add(registerConfirmButton);
registerFrame.add(registerCancelButton);
registerFrame.setVisible(true);
}
public static void main(String[] args) {
new LoginAndRegister();
}
}
```
这是一个简单的登入和注册页面的示例,你可以根据自己的需求进行修改和美化。