Java swing的学生成绩管理系统

StudentGradesManageSystem一个使用Java swing的学生成绩管理系统,软件工程实验周的数据库大作业源码下载地址希望对你有帮助https://github.com/21503882/studentscore作业要求如下:学生成绩管理系统中,系统的用户是学校的学生、教师和管理员。各类用户经登录认证后方可使用系统。学生使用本系统查询自己的成绩。教师使用本系统录入和查...
摘要由CSDN通过智能技术生成

StudentGradesManageSystem
一个使用Java swing的学生成绩管理系统,软件工程实验周的数据库大作业源码下载地址希望对你有帮助

https://github.com/21503882/studentscore
作业要求如下:
学生成绩管理系统中,系统的用户是学校的学生、教师和管理员。各类用户经登录认证后方可使用系统。学生使用本系统查询自己的成绩。教师使用本系统录入和查询自己所授课程的考试成绩。教学管理员可以查询所有课程成绩,并使用本系统进行成绩的统计和生成报表。系统的基本功能包括:
用户登录:对用户身份进行认证 用户信息管理:对学生、教师和管理员等各类用户的基本信息进行管理,例如:学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
成绩录入:教师可以查询自己本学期所授课程,并录入学生的考试成绩。录入过程中,可以暂存已录入的成绩,当录入完成后提交。
成绩维护:教师在提交前,可以修改已录入或暂存的学生成绩;但提交后,则只能查询不能再进行任何修改;教学管理员可以清除教师已提交的成绩。
成绩查询:教师、教学管理员可以查询学生考试成绩。学生只允许查询自己的考试成绩,教师只允许查询自己所授课程的成绩。
成绩统计:教学管理员可以按课程、按学生、按班级、按时间等对成绩统计分析,并以较好的可视化界面显示。例如:教学管理员根据核算出的总评成绩统计处于优、良、中、及格、不及格的学生人数以及占总人数的百分比,统计平均成绩、及格率、不及格率、旷考率等。其中100-90为优,89-80为良,79-70为中,69-60为及格,60分以下为不及格。按要求输出成绩在优、良、中、及格、不及格各区间的学生学号。
TODOList:
代码重构,JDBC单例问题,也可以添加一个实现数据库连接的基类
TIP: 项目用到IDEA的GUI designer,请用IDEA运行项目,Eclipse会报错

 

 

/**
 * Created by jason on 9/2/15.
 */
public class HomeAdmin {
    private JPanel homeAdmin;
    private JButton exitButton;
    private JLabel nameLabel;
    private JTabbedPane tabbedPane1;
    private JTable table1;
    private JTable table2;
    private JButton addOneRowCourseButton;
    private JButton deleteOneRowCourseButton;
    private JButton addOneRowTeacherButton1;
    private JButton deleteOneRowTeacherButton1;
    private JButton saveCourseButton;
    private JButton saveTeacherButton;
    private JTable table3;
    private JButton addOneStudentRowButton;
    private JButton saveStudentTableButton;
    private JButton deleteOneStudentRowButton;
    private JTable table4;
    private JButton cleanButton;
    private JTable table5;
    private JTable table6;
    private JButton statisticButton;
    private JTabbedPane tabbedPane2;
    private JTable course;
    private JTable studentClass;
    private JTable student;
    private JTable time;
    private JButton updateButton;
    private JComboBox comboBox1;
    private JFrame frame;

    private CourseModel courseModel;
    private TeacherModel teacherModel;

    private StudentInfoModel studentInfoModel;

    private ImportedGradeModel importedGradeModel;

    private CourseInfoModel courseInfoModel;
    private GradeInputModel gradeInputModel;

    private CourseStatisticModel courseStatisticModel;
                private TimeStatisticModel timeStatisticModel;
                private ClassStatisticModel classStatisticModel;
                private StudentStatisticModel studentStatisticModel;

    public static void main(String[] args) {

    }

    public HomeAdmin() {


        courseModel = new CourseModel();
        teacherModel = new TeacherModel();


        table1.setModel(courseModel);
        table2.setModel(teacherModel);


        studentInfoModel = new StudentInfoModel();
        table3.setModel(studentInfoModel);

        importedGradeModel = new ImportedGradeModel();
        table4.setModel(importedGradeModel);

        courseInfoModel = new CourseInfoModel();
        table5.setModel(courseInfoModel);

        gradeInputModel = new GradeInputModel();
        table6.setModel(gradeInputModel);

        courseStatisticModel = new CourseStatisticModel();
        timeStatisticModel = new TimeStatisticModel();
        classStatisticModel = new ClassStatisticModel();
        studentStatisticModel = new StudentStatisticModel();

//        private JTable course;
//        private JTable studentClass;
//        private JTable student;
//        private JTable time;
        course.setModel(courseStatisticModel);
        studentClass.setModel(classStatisticModel);
        time.setModel(timeStatisticModel);
        student.setModel(studentStatisticModel);


        Admin admin = (Admin) Session.userInfo;
        nameLabel.setText(admin.getUsername());


        frame = new JFrame("HomeAdmin");
        frame.setContentPane(homeAdmin);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//        frame.pack();

        UICommonUtils.makeFrameToCenter(frame);

        frame.setVisible(true);

        addOneRowCourseButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                if (!(table2.getSelectedRow() > -1) || table2.getValueAt(table2.getSelectedRow(), 3) == null) {
                    JOptionPane.showMessageDialog(frame, "请在教师表中选择一项有教师姓名的行", "提示", JOptionPane.INFORMATION_MESSAGE);
                    return;
                } else {
                    Map<String, Object> map = new HashMap<String, Object>();
                    Object id = teacherModel.getValueAt(table2.getSelectedRow(), 0);
                    Object name = teacherModel.getValueAt(table2.getSelectedRow(), 3);
                    map.put("teacherId", id);
                    map.put("name", name);

                    courseModel.addRow(map);
                }

            }
        });


        addOneRowTeacherButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Map<String, Object> map = new HashMap<String, Object>();
                teacherModel.addRow(map);

            }
        });
        saveTeacherButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                teacherModel.save();

            }
        });

        saveCourseButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                courseModel.save();

            }
        });
        deleteOneRowCourseButton.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                if (table1.getSelectedRow() > -1) {
                    courseModel.remove(table1.getSelectedRow());
                } else {
                    JOptionPane.showMessageDialog(frame, "请选择一行", "提示

  • 2
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Swing学生成绩管理系统是一个基于Java Swing和MySQL的应用程序,用于管理学生成绩信息。它可以实现成绩信息的增删改查、课程管理、学生信息管理、修改密码和系统登录等功能。 以下是一个简单的Java Swing学生成绩管理系统的设计思路: 1. 创建数据库表:在MySQL中创建一个名为"student"的表,包含学生姓名、学号、课程和成绩等字段。 2. 创建用户界面:使用Java Swing创建用户界面,包括登录界面和主界面。登录界面用于用户输入用户名和密码进行登录,主界面用于显示学生成绩信息和提供管理功能的按钮。 3. 实现登录功能:在登录界面中,用户输入正确的用户名和密码后,点击登录按钮,程序将验证用户输入的用户名和密码是否正确。如果验证通过,将打开主界面;否则,显示错误提示信息。 4. 实现成绩信息的增删改查功能:在主界面中,提供增加、删除、修改和查询学生成绩信息功能按钮。点击相应的按钮后,程序将执行相应的操作,并更新数据库中的学生成绩信息。 5. 实现课程管理功能:在主界面中,提供管理课程信息功能按钮。点击相应的按钮后,程序将显示课程信息的列表,并提供添加、删除和修改课程信息功能。 6. 实现学生信息管理功能:在主界面中,提供管理学生信息功能按钮。点击相应的按钮后,程序将显示学生信息的列表,并提供添加、删除和修改学生信息功能。 7. 实现修改密码功能:在主界面中,提供修改密码的功能按钮。点击按钮后,程序将弹出对话框,用户可以输入新的密码并确认修改。 8. 实现系统登录功能:在程序启动时,显示登录界面,用户输入正确的用户名和密码后,才能进入主界面。如果用户输入错误的用户名和密码,将无法进入主界面。 这是一个简单的Java Swing学生成绩管理系统的设计思路,你可以根据需求进行修改和扩展。希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值