使用JFrame创建注册窗口,包含内容自行设计,当点击注册按钮时,将注册信息打印在控制台上。
时间: 2024-03-16 08:47:57 浏览: 23
好的,下面是一个简单的实现:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class RegisterFrame extends JFrame implements ActionListener {
private JTextField usernameField;
private JTextField emailField;
private JPasswordField passwordField;
private JPasswordField confirmPasswordField;
private JRadioButton maleRadioButton;
private JRadioButton femaleRadioButton;
public RegisterFrame() {
setTitle("注册窗口");
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(7, 2, 5, 5));
panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
JLabel usernameLabel = new JLabel("用户名:");
usernameField = new JTextField();
JLabel emailLabel = new JLabel("邮 箱:");
emailField = new JTextField();
JLabel passwordLabel = new JLabel("密 码:");
passwordField = new JPasswordField();
JLabel confirmPasswordLabel = new JLabel("确认密码:");
confirmPasswordField = new JPasswordField();
JLabel genderLabel = new JLabel("性 别:");
maleRadioButton = new JRadioButton("男");
femaleRadioButton = new JRadioButton("女");
ButtonGroup genderGroup = new ButtonGroup();
genderGroup.add(maleRadioButton);
genderGroup.add(femaleRadioButton);
JButton registerButton = new JButton("注册");
registerButton.addActionListener(this);
JButton resetButton = new JButton("重置");
resetButton.addActionListener(this);
panel.add(usernameLabel);
panel.add(usernameField);
panel.add(emailLabel);
panel.add(emailField);
panel.add(passwordLabel);
panel.add(passwordField);
panel.add(confirmPasswordLabel);
panel.add(confirmPasswordField);
panel.add(genderLabel);
panel.add(maleRadioButton);
panel.add(new JLabel(""));
panel.add(femaleRadioButton);
panel.add(registerButton);
panel.add(resetButton);
add(panel);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("注册")) {
String username = usernameField.getText();
String email = emailField.getText();
String password = new String(passwordField.getPassword());
String confirmPassword = new String(confirmPasswordField.getPassword());
String gender = maleRadioButton.isSelected() ? "男" : "女";
System.out.println("用户名:" + username);
System.out.println("邮箱:" + email);
System.out.println("密码:" + password);
System.out.println("确认密码:" + confirmPassword);
System.out.println("性别:" + gender);
} else if (e.getActionCommand().equals("重置")) {
usernameField.setText("");
emailField.setText("");
passwordField.setText("");
confirmPasswordField.setText("");
maleRadioButton.setSelected(true);
}
}
public static void main(String[] args) {
new RegisterFrame();
}
}
```
这个实现中,我们使用了`JFrame`来创建窗口,`JPanel`来布局,`JLabel`、`JTextField`、`JPasswordField`、`JRadioButton`、`JButton`等组件来构建界面。当点击注册按钮时,会读取各个组件的内容,并打印在控制台上;当点击重置按钮时,会清空各个组件的内容。