2021-06-23

这是一篇关于学生考勤管理系统的设计与实现的博客。系统由计算机科学与技术学院软件工程20-1班开发,采用GUI界面和MySQL数据库,具备考勤信息录入、查询、修改和统计功能。博客详细介绍了项目的UML图、GUI设计以及数据库连接和操作的实现。
摘要由CSDN通过智能技术生成

学生考勤管理系统

学院:计算机科学与技术学院
班级:软件工程20-1
项目:学生考勤管理系统

项目介绍

基于GUI,Mysql实现学生考勤信息(缺课记录)的录入,查询,修改,统计功能。可统计某段时间内,旷课学生姓名及旷课次数,有学生旷课的课程及旷课人次

项目 UML 图

该项目的UML图为
在这里插入图片描述

GUI图形用户交互界面

包含在kaoqin类当中

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.border.BevelBorder;

public class kaoqin extends JPanel {
   
    Font syblack = new Font("思源黑体", Font.PLAIN, 30);   //定义字体类型
    Font songti = new Font("宋体", Font.BOLD, 20);
    JLabel jieguo; //统计功能的组件定义
    JButton xAt, kAr;
    JTextArea JieGuo;
    JPanel jieguoP, panelB, account;
    JLabel background1, background2, background3, background4;
    ArrayList<Student> student;

    JLabel xingming1, xuehao1, riqi1, keshi1, kemu1, leixing1;//录入功能组件定义
    JTextField xingming11, xuehao11, riqi11, keshi11, kemu11, leixing11;
    String xingming111, xuehao111, riqi111, keshi111, kemu111, leixing111;
    JPanel Input, panel11, panel12, panel13, panel14, panel15, panel16;

    JLabel xingming2, xuehao2, riqi2, keshi2, kemu2, leixing2;//修改功能组件的定义
    JTextField xingming22, xuehao22, riqi22, keshi22, kemu22, leixing22;
    String xingming222, xuehao222, riqi222, keshi222, kemu222, leixing222;
    JPanel Modify, panel21, panel22, panel23, panel24, panel25, panel26, panel27;

    JLabel xingming3, xuehao3, riqi3, keshi3, kemu3, leixing3;//查找功能组件的定义
    JTextField xingming33, xuehao33, riqi33, keshi33, kemu33, leixing33;
    String xingming333, xuehao333, riqi333, keshi333, kemu333, leixing333;
    JPanel Find, panel31, panel32, panel33, panel34, panel35, panel36;

    JButton tijiao1, xiugai2, chaxun2, chaxun3;//各个按钮的定义
    JTabbedPane tb;
    Integer cha1 = null, cha2 = null;

    public kaoqin() {
   
        background1 = new JLabel("请录入学生信息!");  //提示信息的初始化
        background1.setFont(songti);
        background1.setForeground(Color.red);
        background2 = new JLabel("请使用学号和姓名查询!");
        background2.setFont(songti);
        background3 = new JLabel("请使用学号和姓名查询!");
        background3.setFont(songti);
        student = new ArrayList<Student>();
        xingming1 = new JLabel("学生姓名:");//录入界面各个组件的安排
        xingming1.setFont(songti);
        xuehao1 = new JLabel("学生学号:");
        xuehao1.setFont(songti);
        riqi1 = new JLabel("缺勤日期:");
        riqi1.setFont(songti);
        keshi1 = new JLabel("缺勤课时:");
        keshi1.setFont(songti);
        kemu1 = new JLabel("缺勤科目:");
        kemu1.setFont(songti);
        leixing1 = new JLabel("缺勤类型:");
        leixing1.setFont(songti);

        xingming11 = new JTextField(6);  //设置文本框长度
        xingming11.setFont(syblack);
        xuehao11 = new JTextField(8);
        xuehao11.setFont(syblack);
        riqi11 = new JTextField(8);
        riqi11.setFont(syblack);
        keshi11 = new JTextField(8);
        keshi11.setFont(syblack);
        kemu11 = new JTextField(8);
        kemu11.setFont(syblack);
        leixing11 = new JTextField(8);
        leixing11.setFont(syblack);

        panel11 = new JPanel();    //添加Panel面板
        panel11.setFont(syblack);      //更换字体
        panel11.setBackground(new Color(230, 239, 255));   //设置面板的背景颜色
        panel11.add(Box.createRigidArea(new Dimension(30, 15)));
        panel11.add(xingming1);
        panel11.add(xingming11);

        panel12 = new JPanel();
        panel12.setBackground(new Color(230, 239, 255));
        panel12.setFont(syblack);      //更换字体
        panel12.add(Box.createRigidArea(new Dimension(30, 0)));
        panel12.add(xuehao1);
        panel12.add(xuehao11);

        panel13 = new JPanel();
        panel13.setBackground(new Color(230, 239, 255));
        panel13.setFont(syblack);      //更换字体
        panel13.add(Box.createRigidArea(new Dimension(30, 0)));
        panel13.add(riqi1);
        panel13.add(riqi11);

        panel14 = new JPanel();
        panel14.setBackground(new Color(230, 239, 255));
        panel14.setFont(syblack);      //更换字体
        panel14.add(Box.createRigidArea(new Dimension(30, 0)));
        panel14.add(keshi1);
        panel14.add(keshi11);

        panel15 = new JPanel();
        panel15.setBackground(new Color(230, 239, 255));
        panel15.setFont(syblack);      //更换字体
        panel15.add(Box.createRigidArea(new Dimension(30, 0)));
        panel15.add(kemu1);
        panel15.add(kemu11);

        panel16 = new JPanel();
        panel16.setBackground(new Color(230, 239, 255));
        panel16.setFont(syblack);      //更换字体
        panel16.add(Box.createRigidArea(new Dimension(30, 0)));
        panel16.add(leixing1);
        panel16.add(leixing11);

        tijiao1 = new JButton("提交");    //设置提交按钮
        tijiao1.setFont(new Font("微软雅黑", Font.PLAIN, 30));   //字体设置
        tijiao1.setPreferredSize(new Dimension(90, 60));            //按钮大小
        tijiao1.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));     //设置上凸
        tijiao1.addActionListener(new ButtonListener());               // 监听器

        Input = new JPanel();
        Input.setBackground(new Color(199, 243, 255));    //设置背景颜色
        Input.setLayout(new BoxLayout(Input, BoxLayout.Y_AXIS));   //盒式布局
        Input.add(Box.createRigidArea(new Dimension(300, 0)));
        Input.add(background1);
        Input.add(Box.createRigidArea(new Dimension(0, 10)));
        Input.add(panel11);  //将各个panel添加到Input中
        Input.add(panel12);
        Input.add(panel13);
        Input.add(panel14);
        Input.add(panel15);
        Input.add(panel16);
        Input.add(Box.createRigidArea(new Dimension(0, 10)));
        Input.add(tijiao1); // 按键的添加

        xingming2 = new JLabel("学生姓名:");//修改界面各个组件的安排
        xingming2.setFont(songti);
        xuehao2 = new JLabel("学生学号:");
        xuehao2.setFont(songti);
        riqi2 = new JLabel("缺勤日期:");
        riqi2.setFont(songti);
        keshi2 = new JLabel("缺勤课时:");
        keshi2.setFont(songti);
        kemu2 = new JLabel("缺勤科目:");
        kemu2.setFont(songti);
        leixing2 = new JLabel("缺勤类型:");
        leixing2.setFont(songti);

        xingming22 = new JTextField(8);
        xingming22.setFont(syblack);
        xuehao22 = new JTextField(8);
        xuehao22.setFont(syblack);
        riqi22 = new JTextField(8);
        riqi22.setFont(syblack);
        keshi22 = new JTextField(8);
        keshi22.setFont(syblack);
        kemu22 = new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值