JAVA课程设计——学生考勤管理系统
学生考勤管理系统
学院:计算机科学与技术学院
班级:软件工程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