0


学生社团管理系统(Java+Swing+mysql)(超简陋)

学生社团管理系统(Java+Swing+mysql)

写在前面:

    作为一个计本专业大二的学生,单凭学校开设的几门专业课,学到的知识是零散的,不实操的话很难有提升,是不足以我们去完成哪怕一个小小的项目的,所以我们不得不自己去学习和尝试。

   正好我们这学期在学习Java和数据库这两门课,由此开始萌生要开始一个小小的尝试将两个知识应用到实际当中,于是我选择制作一个简单的学生社团活动管理系统(作为两个协会的部长,平时为社团活动没有少操心)。在这个系统的制作过程中不断巩固了自己的Java学习(Java中的异常处理,Java swing,JDBC等)和数据库的实际应用(虽然我们这学期学习的是SQL serve 但MySQL也是大同小异)下面开始进入正题吧!

  首先学习安装了MySQL,是通过这篇教程来安装和配置的嘿嘿MySQL安装教程,然后再找了一个MySQL的可视化应用程序,可以用Navicat(是一只猫),但由于正版要收费作为学生党就没有去费脑筋了,就找了一个口碑不错的免费软件,DBeaver(是一只海狸),可以直接在Microsoft Store里面免费下载。

   然后就开始大概规划这个系统需要的功能,登录注册功能得有吧,然后就是社团和社团活动的增删改查功能得有吧(十分简单的功能)。

    写了一个简单的文档,完成了数据库的设计包括了系统需求分析,各部分具有的功能,绘制了管理系统结构图,数据流DFD图,数据字典,概念设计E-R图等,并进行逻辑设计(关系模式),物理设计(基本表的存储结构)以及数据库的实现。

下面展示文档内部分内容:

根据需求分析的输入描绘的社团活动管理系统结构图如下:

社团活动管理功能模块图

用户(社团管理员)登录社团活动管理系统DFD图:

社团管理员登录社团活动管理系统DFD图

其中活动信息的数据字典如下:

概念设计(E-R图)

文档内容暂时就展示这么多吧,下面就开始制作阶段:

制作阶段

首先以我的能力还是很难一个一个字的去想去敲代码的,我当然还是借鉴了一些大佬的开发规范和一些源码,在这个过程中也是收获很多很多。

那么就开始吧!

开始之前还是按照规范乖乖建好Dao,Model,Util,View,文件夹。

Dao用来执行数据库与窗体系统程序之间的数据交互;

Model用来创建各实体;

Util用来保存各种工具方法,如JDBC和后面经常会用到的判断输入文本内容是否为空的方法;

View用来实现窗体各部分功能以及可视化的布局;

登录界面

部分代码:

//创建登录界面的frame
    public  LoginView() {
        setFont(new Font("仿宋", Font.PLAIN, 20));
        setResizable(false);
        setTitle("那就先登录吧!");

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 473, 336);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setBackground(Color.ORANGE);

        JLabel lblNewLabel = new JLabel("社团活动管理系统");
        lblNewLabel.setIcon(new ImageIcon(LoginView.class.getResource("/images/logo.png")));
        lblNewLabel.setFont(new Font("宋体", Font.BOLD, 12));
        
        JLabel lblNewLabel_1 = new JLabel("用户名:");
        lblNewLabel_1.setIcon(new ImageIcon(LoginView.class.getResource("/images/userName.png")));
        
        JLabel lblNewLabel_2 = new JLabel("密   码:");
        lblNewLabel_2.setIcon(new ImageIcon(LoginView.class.getResource("/images/password.png")));
        
        JButton btnNewButton = new JButton("登录");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                loginAction(e);
            }
        });
        btnNewButton.setIcon(new ImageIcon(LoginView.class.getResource("/images/login.png")));
        
        JButton btnNewButton_1 = new JButton("重置");
        btnNewButton_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                resultAction(e);
            }
        });
        btnNewButton_1.setIcon(new ImageIcon(LoginView.class.getResource("/images/reset.png")));
        
        userName = new JTextField();
        userName.setColumns(10);
        
        userPassword = new JPasswordField();

        
        JButton btnNewButton_2 = new JButton("注册");
        btnNewButton_2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                RegisterUser registerUser=new RegisterUser();
                registerUser.setVisible(true);
            }
        });
        btnNewButton_2.setIcon(new ImageIcon(LoginView.class.getResource("/images/me.png")));
        GroupLayout gl_contentPane = new GroupLayout(contentPane);

注册界面:

部分代码:

//注册界面
    public RegisterUser() {
        setTitle("那就先注册吧!");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 509, 437);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setBackground(Color.YELLOW);
        
        JLabel lblNewLabel = new JLabel("开始注册");
        lblNewLabel.setFont(new Font("仿宋", Font.BOLD, 27));
        lblNewLabel.setIcon(new ImageIcon(RegisterUser.class.getResource("/images/logo.png")));
        
        JLabel lblNewLabel_1 = new JLabel("用  户  名:");
        
        name = new JTextField();
        name.setColumns(10);
        
        JLabel lblNewLabel_2 = new JLabel("密        码:");
        
        JLabel lblNewLabel_3 = new JLabel("验  证  码:");
        
        verification = new JTextField();
        verification.addMouseListener(new MouseAdapter() {
            @Override
            public void mousePressed(MouseEvent e) {
                ComperPassword(e);
            }
        });
        verification.setText("");
        verification.setColumns(10);
        
        JLabel lblNewLabel_4 = new JLabel("");
        
        JLabel lblNewLabel_5 = new JLabel("确认密码:");
        
        JButton btnNewButton = new JButton("注册");

系统主界面对社团的管理:

对活动的管理:

添加活动功能部分代码:

public Addact() {
        setTitle("活动添加");
        setIconifiable(true);
        setClosable(true);
        setBounds(100, 100, 500, 501);
        
        JLabel lblNewLabel = new JLabel("活动名称:");
        
        actName = new JTextField();
        actName.setColumns(10);
        
        JLabel lblNewLabel_1 = new JLabel("活动负责人:");
        
        leadername = new JTextField();
        leadername.setColumns(10);
        
        JLabel lblNewLabel_2 = new JLabel("负责人性别:");
        
        JLabel lblNewLabel_3 = new JLabel("活动时间:");
        
        actTime = new JTextField();
        actTime.setColumns(10);
        
        JLabel lblNewLabel_4 = new JLabel("社团名称:");
        
        JLabel lblNewLabel_5 = new JLabel("活动描述:");
        
        actDesc = new JTextArea();
        
        JButton btnNewButton = new JButton("添加");
        btnNewButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                addActAction(e);
            }
        });
        btnNewButton.setIcon(new ImageIcon(Addact.class.getResource("/images/add.png")));
        
        JButton btnNewButton_1 = new JButton("重置");
        btnNewButton_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                reset();
            }
        });
        btnNewButton_1.setIcon(new ImageIcon(Addact.class.getResource("/images/reset.png")));
        
        man = new JRadioButton("男");
        man.setSelected(true);
        buttonGroup.add(man);
        
        woman = new JRadioButton("女");
        buttonGroup.add(woman);
        
        actType = new JComboBox();
        GroupLayout groupLayout = new GroupLayout(getContentPane());

总之,虽然完成这个小小的窗体程序花费了我挺多时间吧,但最后感觉还是很值得的,在这个过程中我也在不断学习,不断进步,嗯,还是很开心的!

标签: java mysql 开发语言

本文转载自: https://blog.csdn.net/qq_59147881/article/details/121916062
版权归原作者 XinFeng@ 所有, 如有侵权,请联系我们删除。

“学生社团管理系统(Java+Swing+mysql)(超简陋)”的评论:

还没有评论