图形化插件,编写Register类和MainFrame类,其界面学号 姓名密码 注册 密码(确认)性别 专业 男 y 计算机科学与技术 我已阅读并同意注册规则 注册 重置java代码
时间: 2024-02-24 17:53:09 浏览: 25
以下是使用 Java Swing 实现的 Register 和 MainFrame 类的示例代码,其中包含了你提到的所有控件和布局:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Register extends JFrame implements ActionListener {
private JLabel labelNumber, labelName, labelPassword, labelConfirmPassword, labelGender, labelMajor;
private JTextField tfNumber, tfName;
private JPasswordField pfPassword, pfConfirmPassword;
private JRadioButton rbMale, rbFemale;
private ButtonGroup bgGender;
private JComboBox<String> cbMajor;
private JCheckBox cbAgree;
private JButton btnRegister, btnReset;
public Register() {
super("注册");
// 创建控件
labelNumber = new JLabel("学号:");
labelName = new JLabel("姓名:");
labelPassword = new JLabel("密码:");
labelConfirmPassword = new JLabel("确认密码:");
labelGender = new JLabel("性别:");
labelMajor = new JLabel("专业:");
tfNumber = new JTextField(10);
tfName = new JTextField(10);
pfPassword = new JPasswordField(10);
pfConfirmPassword = new JPasswordField(10);
rbMale = new JRadioButton("男", true);
rbFemale = new JRadioButton("女", false);
bgGender = new ButtonGroup();
bgGender.add(rbMale);
bgGender.add(rbFemale);
cbMajor = new JComboBox<>(new String[]{"计算机科学与技术", "软件工程", "信息安全"});
cbAgree = new JCheckBox("我已阅读并同意注册规则");
btnRegister = new JButton("注册");
btnReset = new JButton("重置");
// 布局
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.anchor = GridBagConstraints.EAST;
panel.add(labelNumber, c);
c.gridy++;
panel.add(labelName, c);
c.gridy++;
panel.add(labelPassword, c);
c.gridy++;
panel.add(labelConfirmPassword, c);
c.gridy++;
panel.add(labelGender, c);
c.gridy++;
panel.add(labelMajor, c);
c.gridy++;
c.gridwidth = 2;
panel.add(cbAgree, c);
c.gridy = 0;
c.gridx++;
c.anchor = GridBagConstraints.WEST;
panel.add(tfNumber, c);
c.gridy++;
panel.add(tfName, c);
c.gridy++;
panel.add(pfPassword, c);
c.gridy++;
panel.add(pfConfirmPassword, c);
c.gridy++;
JPanel panelGender = new JPanel();
panelGender.add(rbMale);
panelGender.add(rbFemale);
panel.add(panelGender, c);
c.gridy++;
panel.add(cbMajor, c);
c.gridy++;
c.gridwidth = 1;
c.anchor = GridBagConstraints.CENTER;
panel.add(btnRegister, c);
c.gridx++;
panel.add(btnReset, c);
add(panel);
// 绑定事件
btnRegister.addActionListener(this);
btnReset.addActionListener(this);
// 设置窗口
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnRegister) {
// 注册逻辑
} else if (e.getSource() == btnReset) {
// 重置表单
tfNumber.setText("");
tfName.setText("");
pfPassword.setText("");
pfConfirmPassword.setText("");
rbMale.setSelected(true);
cbMajor.setSelectedIndex(0);
cbAgree.setSelected(false);
}
}
}
public class MainFrame extends JFrame implements ActionListener {
private JLabel labelWelcome;
private JButton btnRegister;
public MainFrame() {
super("主界面");
// 创建控件
labelWelcome = new JLabel("欢迎使用");
btnRegister = new JButton("注册");
// 布局
JPanel panel = new JPanel(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = 0;
c.insets = new Insets(20, 0, 0, 0);
panel.add(labelWelcome, c);
c.gridy++;
panel.add(btnRegister, c);
add(panel);
// 绑定事件
btnRegister.addActionListener(this);
// 设置窗口
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
setLocationRelativeTo(null);
setResizable(false);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btnRegister) {
// 打开注册界面
Register register = new Register();
register.setVisible(true);
}
}
public static void main(String[] args) {
MainFrame mainFrame = new MainFrame();
}
}
```
这个示例代码中,Register 类实现了注册界面,其中的 actionPerformed 方法可以处理注册和重置按钮的事件。MainFrame 类实现了主界面,其中的 actionPerformed 方法可以打开注册界面。你可以根据自己的需要修改控件和布局。
相关推荐
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)