完成实验十的ko-ngxugan

发布时间:2023年12月18日

完成实验十的空闲

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Login extends JFrame {
    // JPanel
    JPanel panelTop, panelCenter, panelBottom;
    JLabel image, labelName, labelAge, labelSex, labelSpeciality;
    JTextField textName, textAge, textSex, textSpeciality;
    JButton btn_confirm, btn_reset;
    JRadioButton male, female;
    JCheckBox javaCheckBox, cCheckBox;
    JTextArea introduction;
    JScrollPane scrollPane;


    public Login() {
        setSize(400, 300); // 设置窗口大小
        setTitle("注册");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null); // 窗口居中

        // 1. 上部面板
        // 创建 ImageIcon 对象
        ImageIcon logo = new ImageIcon("welcome.gif");

        // 创建 JLabel 并设置图标
        image = new JLabel(logo);
        panelTop = new JPanel();
        panelTop.add(image);

        // 2. 中部面板
        panelCenter = new JPanel();
        labelName = new JLabel("姓      名");
        labelAge = new JLabel("年      龄");
        labelSex = new JLabel("性      别");
        labelSpeciality = new JLabel("擅长");
        ButtonGroup buttonGroup = new ButtonGroup();
        male = new JRadioButton("Male");
        female = new JRadioButton("Female");
        buttonGroup.add(male);
        buttonGroup.add(female);
        javaCheckBox = new JCheckBox("Java");
        cCheckBox = new JCheckBox("C");
        introduction = new JTextArea("自我介绍", 4, 5);
        scrollPane = new JScrollPane(introduction); // 将 JTextArea 添加到 JScrollPane 中以提高滚动功能
        panelCenter.add(labelName);
        panelCenter.add(labelAge);
        panelCenter.add(labelSex);
        panelCenter.add(labelSpeciality);
        panelCenter.add(textName = new JTextField(10)); // 设置文本框长度为10
        panelCenter.add(textAge = new JTextField(10));
        panelCenter.add(textSex = new JTextField(10));
        panelCenter.add(textSpeciality = new JTextField(10));
        panelCenter.setLayout(new BoxLayout(panelCenter, BoxLayout.Y_AXIS)); // 使用垂直布局管理器排列组件


        panelBottom = new JPanel(); // 创建下部面板
        btn_confirm = new JButton("确认"); // 创建确认按钮并设置文本为“确认”
        btn_reset = new JButton("重置");
        btn_confirm.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {


                StringBuffer stringBuffer=new StringBuffer();
                stringBuffer.append("姓名"+textName.getText());
                stringBuffer.append("性别");
                //JOptionPane.showMessageDialog(this,"a","b");
                if(male.isSelected()){
                    stringBuffer.append("性别"+male.getText());
                }else{
                    stringBuffer.append("性别"+female.getText());
                }
                stringBuffer.append("擅长");

            }

        });
        btn_confirm.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (textName.getText().isEmpty()) {
                    JOptionPane.showMessageDialog(null, "姓名不能为空");
                }
            }
        });
        btn_reset.addActionListener(new ActionListener() { // 为重置按钮添加监听器以处理点击事件
            @Override
            public void actionPerformed(ActionEvent e) {

                textAge.setText("");
                textName.setText("");


            }
        });
        panelCenter.add(male);
        panelCenter.add(female);

        panelCenter.add(javaCheckBox);
        panelCenter.add(cCheckBox);
        panelBottom.add(btn_confirm); // 将确认按钮添加到下部面板中并水平排列(默认布局管理器)
        panelBottom.add(btn_reset); // 将重置按钮添加到下部面板中并水平排列(默认布局管理器)
        panelBottom.add(Box.createHorizontalStrut(10)); // 在两个按钮之间添加间距以美化界面布局(可选)
        // 将所有面板添加到窗口中
        add(panelTop, BorderLayout.NORTH); // 顶部面板添加到窗口顶部
        add(panelCenter, BorderLayout.CENTER); // 中部面板添加到窗口中心
        add(panelBottom, BorderLayout.SOUTH); // 下部面板添加到窗口底部


    }






    public static void main(String[] args) {
        Login login = new Login(); // 创建Login对象,并显示窗口
        login.setVisible(true); // 设置窗口为可见
    }
}
文章来源:https://blog.csdn.net/leke2003/article/details/135060406
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。