Java 教务教学管理系统 窗体程序 完整源码

今天为大家分享一个优秀的项目教务教学管理系统 的开发与制作。系统用Java语言编写,整个系统界面漂亮,有完整的源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步

开发环境

开发语言为Java,开发环境Eclipse或者IDEA都可以。运行主程序,或者执行打开JAR文件即可以运行本程序。

系统框架

利用JDK自带的SWING框架开发,数据库连接采用JDBC模式。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。

系统主要功能

教务教学管理系统分三种用户类型:系统管理员、教师、学生三种角色。这三种角色在系统中对应的不同的功能

系统管理员功能

1 用户登陆:输入用户名和密码,登陆到系统

2 学生管理:对学生信息进行日常的维护(包括学生的新增、删除、修改等操作)。学生信息包括

学号、姓名、性别、出生日期、联系电话、民族、院系、专业、班级、籍贯

3 课程维护:对课程信息进行日常的维护(包括学生的新增、删除、修改等操作)。课程信息包括:

课程编号、课程名称、学费、授课老师、时间、地点、学科门类课程描述

3 老师维护:对老师信息进行日常的维护(包括老师的新增、删除、修改等操作).老师信息包括:

姓名、工号、性别、出生日期、电话、民族、籍贯、学院。

学生功能

1 学生登陆:输入用户名和密码,登陆到系统

2 选课功能:对感兴趣的课程进行选课

3 查看自己的课表信息

4 查看自己的课程成绩

5 修改密码:修改自己的密码信息

老师功能

1 老师登陆:输入用户名和密码,登陆到系统

2 选课功能:查看选修自己课程信息的学生信息

3 查看自己的授课课表信息

4 学生成绩课程评定

5 修改密码:修改自己的密码信息

运行效果

系统管理员运行效果

系统登陆

管理员主界面

学生运行效果

老师功能运行效果

关键代码

public class IndexView extends JFrame implements MouseListener{
    JPanel centerPanel;
    JPanel menuPanel;
    JLabel jl_index;
    JLabel jl_score;
    JLabel jl_sechdule;
    JLabel jl_course;
    JLabel jl_user;
    JLabel jl_student;
    JLabel jl_teacher;
    JLabel jl_admin_course;
    JLabel jl_weclome;
    int flag_index;
    int flag_score;
    int flag_sechdule;
    int flag_course;
    int flag_user;
    int flag_student;
    int flag_teacher;
    int flag_admin_course;
    Teacher teacher=null;
    Student student=null;
    Admin admin=null;
    public IndexView(){
        
    }
    public IndexView(Admin admin){
        this.setTitle("教务管理系统");
        this.admin=admin;
        this.setSize(1000,600);
        this.setResizable(false);
        Location.setCenter(this);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLayout(new BorderLayout());
        UIManager.put("TabbedPane.tabAreaInsets", new javax.swing.plaf.InsetsUIResource(0, 0, 0, 0));
        centerPanel=initCenterPanel();
        menuPanel=initAdminMenuPanel();
        jl_weclome.setText("欢迎 : "+admin.getAname());
        jl_weclome.setFont(MyFont.getMyFont());
        this.add(centerPanel,BorderLayout.CENTER);
        this.add(menuPanel,BorderLayout.NORTH);
        this.setVisible(true);
    }
    public IndexView(Student student ){
        this.setTitle("教务管理系统");
        this.student=student;
        this.setSize(1000,600);
        this.setResizable(false);
        Location.setCenter(this);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLayout(new BorderLayout());
        UIManager.put("TabbedPane.tabAreaInsets", new javax.swing.plaf.InsetsUIResource(0, 0, 0, 0));
        centerPanel=initCenterPanel();
        menuPanel=initMenuPanel();
        jl_weclome.setText("欢迎 : "+student.getSname());
        jl_weclome.setFont(MyFont.getMyFont());
        this.add(centerPanel,BorderLayout.CENTER);
        this.add(menuPanel,BorderLayout.NORTH);
        this.setVisible(true);
    }
    public IndexView(Teacher teacher ){ 
        this.setTitle("教务管理系统");
        this.teacher=teacher;
        this.setSize(1000,600);
        this.setResizable(false);
        Location.setCenter(this);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLayout(new BorderLayout());
        UIManager.put("TabbedPane.tabAreaInsets", new javax.swing.plaf.InsetsUIResource(0, 0, 0, 0));
        centerPanel=initCenterPanel();
        menuPanel=initMenuPanel();
        jl_weclome.setText("欢迎 : "+teacher.getTname());
        jl_weclome.setFont(MyFont.getMyFont());
        this.add(centerPanel,BorderLayout.CENTER);
        this.add(menuPanel,BorderLayout.NORTH);
        this.setVisible(true);
    }
    public JPanel initAdminMenuPanel(){
        JPanel menuPanel=new JPanel();
        JPanel toolPanel=new JPanel();
        toolPanel.setPreferredSize(new Dimension(960,50));
        menuPanel.setPreferredSize(new Dimension(850,50));
        //toolPanel.add(menuPanel);
        
        jl_weclome=new JLabel();
        jl_weclome.setIcon(new ImageIcon("image/weclome.png"));
        jl_weclome.setPreferredSize(new Dimension(110,50));
        jl_weclome.setFont(MyFont.getMyFont());
        toolPanel.add(menuPanel);
        toolPanel.add(jl_weclome);
        
        FlowLayout flowLayout=(FlowLayout)menuPanel.getLayout();
        flowLayout.setAlignment(FlowLayout.LEFT);
        
        jl_index=initMenu("首页");
        jl_index.setIcon(new ImageIcon("image/index.png"));
        jl_student=initMenu("学生管理");
        jl_student.setIcon(new ImageIcon("image/student.png"));
        jl_teacher=initMenu("教师管理");
        jl_teacher.setIcon(new ImageIcon("image/teacher.png"));
        jl_admin_course=initMenu("课程管理");
        jl_admin_course.setIcon(new ImageIcon("image/course.png"));
        
        
        menuPanel.add(jl_index);
        menuPanel.add(jl_student);
        menuPanel.add(jl_teacher);
        menuPanel.add(jl_admin_course);
        
        createIndex();
        return toolPanel;
    }
    public JPanel initMenuPanel(){
        JPanel menuPanel=new JPanel();
        JPanel toolPanel=new JPanel();
        toolPanel.setPreferredSize(new Dimension(960,50));
        menuPanel.setPreferredSize(new Dimension(850,50));
        toolPanel.add(menuPanel);
        
        jl_weclome=new JLabel();
        jl_weclome.setPreferredSize(new Dimension(110,50));
        jl_weclome.setIcon(new ImageIcon("image/weclome.png"));
        FlowLayout flowLayout=(FlowLayout)menuPanel.getLayout();
        flowLayout.setAlignment(FlowLayout.LEFT);
        jl_index=initMenu("首页");
        jl_index.setIcon(new ImageIcon("image/index.png"));
        jl_score=initMenu("成绩管理");
        jl_score.setIcon(new ImageIcon("image/score.png"));
        jl_sechdule=initMenu("课表管理");
        jl_sechdule.setIcon(new ImageIcon("image/sechdule.png"));
        jl_course=initMenu("选课管理");
        jl_course.setIcon(new ImageIcon("image/course.png"));
        jl_user=initMenu("用户管理");
        jl_user.setIcon(new ImageIcon("image/user.png"));
        menuPanel.add(jl_index);
        menuPanel.add(jl_score);
        menuPanel.add(jl_sechdule);
        menuPanel.add(jl_course);
        menuPanel.add(jl_user);
        createIndex();
        toolPanel.add(jl_weclome);
        return toolPanel;
        
    }
    public JPanel initCenterPanel(){
        JPanel panel=new JPanel();
        panel.setLayout(new BorderLayout());
        return panel;
    }
    public JLabel initMenu(String name){
        JLabel menu=new JLabel();
        menu.setFont(MyFont.getMyFont());
        menu.setPreferredSize(new Dimension(94,40));
        menu.setText("<html><font color='black' >"+name+" | "+"</font></html>");
        menu.addMouseListener(this);
        return menu;
    }

    public void createIndex(){
        centerPanel.removeAll();
        flag_index=1;
        flag_score=0;
        flag_sechdule=0;
        flag_course=0;
        flag_user=0;
        flag_student=0;
        flag_teacher=0;
        flag_admin_course=0;
        jl_index.setText("<html><font color='#336699' style='font-weight:bold'>" + "首页   | " + "</font>&nbsp;</html>");
        jl_index.setPreferredSize(new Dimension(70,40));
        ImagePanel backPanel=ViewFactory.getIndexBackPanel();
        centerPanel.add(backPanel);
    }
    public void createAdminStudent(){
        centerPanel.removeAll();
        flag_index=0;
        flag_student=1;
        flag_teacher=0;
        flag_user=0;
        flag_admin_course=0;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        JPanel jp=ViewFactory.getStudentManagerPanel();
        tab.add("学生管理",jp);
        centerPanel.add(tab);
    }
    public void createAdminTeacher(){
        centerPanel.removeAll();
        flag_index=0;
        flag_student=0;
        flag_teacher=1;
        flag_user=0;
        flag_admin_course=0;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        JPanel jp=ViewFactory.getTeacherManagerPanle();
        tab.add("教师管理",jp);
        centerPanel.add(tab);
    }
    public void createAdminCourse(){
        centerPanel.removeAll();
        flag_index=0;
        flag_student=0;
        flag_teacher=0;
        flag_user=0;
        flag_admin_course=1;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        JPanel jp=ViewFactory.getCourseManagerPanel();
        tab.add("课程管理",jp);
        centerPanel.add(tab);
    }
    public void createScore(){
        centerPanel.removeAll();
        flag_index=0;
        flag_score=1;
        flag_sechdule=0;
        flag_course=0;
        flag_user=0;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        JPanel jp=new JPanel();
        if(student!=null){
            jp=ViewFactory.getStudentScoreView(student);
        }else{
            jp=ViewFactory.getTeacherSocreView(teacher);
        }
        tab.add("成绩管理",jp);
        centerPanel.add(tab);
        
    }
    public void createSechdule(){
        centerPanel.removeAll();
        flag_index=0;
        flag_score=0;
        flag_sechdule=1;
        flag_course=0;
        flag_user=0;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        JPanel jp=null;
        if(student!=null){
            jp=ViewFactory.getStudentCourseSechView(student);
            tab.add("学生课表",jp);
        }
        if(teacher!=null){
            jp=ViewFactory.getTeacherCourseSechView(teacher);
            tab.add("教师课表",jp);
        }
        
        centerPanel.add(tab);
    }
    public void createCourse(){
        centerPanel.removeAll();
        flag_index=0;
        flag_score=0;
        flag_sechdule=0;
        flag_course=1;
        flag_user=0;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        JPanel jp1=null;
        JPanel jp2=null;
        if(student!=null){
            jp1=ViewFactory.getStudentSelectCourseView(student);
            jp2=ViewFactory.getCoursetAlView(student);
            tab.add("选择课程", jp1);
            tab.add("已选课程",jp2);
        }else if(teacher!=null){
            jp1=ViewFactory.getTeacherCourseView(teacher);
            tab.add("安排课程",jp1);
        }
        
        centerPanel.add(tab);
    }
    public void createUser(){
        centerPanel.removeAll();
        flag_index=0;
        flag_score=0;
        flag_sechdule=0;
        flag_course=0;
        flag_user=1;
        JTabbedPane tab=new JTabbedPane();
        tab.setFont(MyFont.getMyFont());
        if(student!=null){
            JPanel jp1=ViewFactory.getStudentInformationPanel(student);
            JPanel jp2=ViewFactory.getStudentUpdatePswView(student);
            tab.add("基本信息", jp1);
            tab.add("修改密码",jp2);
            centerPanel.add(tab);
        }else if(teacher!=null){
            JPanel jp1=ViewFactory.getTeacherInformationView(teacher);
            JPanel jp2=ViewFactory.getTeacherUpdatePswView(teacher);
            tab.add("基本信息", jp1);
            tab.add("修改密码",jp2);
            centerPanel.add(tab);
        }
    }
    @Override
    public void mouseClicked(MouseEvent e) {
        // TODO Auto-generated method stub
        if(e.getSource()==jl_index){
            if(flag_index==0){
                this.createIndex();
            }
        }else if(e.getSource()==jl_score){
            if(flag_score==0){
                this.createScore();
            }
        }else if(e.getSource()==jl_sechdule){
            if(flag_sechdule==0){
                this.createSechdule();
            }
        }else if(e.getSource()==jl_course){
            if(flag_course==0){
                this.createCourse();
            }
        }else if(e.getSource()==jl_user){
            if(flag_user==0){
                this.createUser();
            }
        }else if(e.getSource()==jl_student){
            if(flag_student==0){
                this.createAdminStudent();
            }
        }else if(e.getSource()==jl_teacher){
            if(flag_teacher==0){
                this.createAdminTeacher();
            }
        }else if(e.getSource()==jl_admin_course){
            if(flag_admin_course==0){
                this.createAdminCourse();
            }
        }
    }
    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }
    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub
        
    }
    @Override
    public void mouseEntered(MouseEvent e) {
        if(e.getSource()==jl_index){
            jl_index.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_index.setText("<html><font color='#336699' style='font-weight:bold'>" + "首页   | " + "</font></html>");
        }else if(e.getSource()==jl_score){
            jl_score.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_score.setText("<html><font color='#336699' style='font-weight:bold'>" + "成绩管理   | " + "</font></html>");
        }else if(e.getSource()==jl_sechdule){
            jl_sechdule.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_sechdule.setText("<html><font color='#336699' style='font-weight:bold'>" + "课表管理   | " + "</font></html>");
        }else if(e.getSource()==jl_course){
            jl_course.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_course.setText("<html><font color='#336699' style='font-weight:bold'>" + "选课管理    | " + "</font></html>");
        }else if(e.getSource()==jl_user){
            jl_user.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_user.setText("<html><font color='#336699' style='font-weight:bold'>" + "用户管理    | " + "</font></html>");
        }else if(admin!=null&&e.getSource()==jl_student){
            jl_student.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_student.setText("<html><font color='#336699' style='font-weight:bold'>" + "学生管理    | " + "</font></html>");
        }else if(admin!=null&&e.getSource()==jl_teacher){
            jl_teacher.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_teacher.setText("<html><font color='#336699' style='font-weight:bold'>" + "教师管理    | " + "</font></html>");
        }else if(admin!=null&&e.getSource()==jl_admin_course){
            jl_admin_course.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_admin_course.setText("<html><font color='#336699' style='font-weight:bold'>" + "课程管理    | " + "</font></html>");
        }else{
            
        }
        
    }
    @Override
    public void mouseExited(MouseEvent e) {
        if(e.getSource()==jl_index){
            jl_index.setText("<html><font color='black'>" + "首页   | " + "</font></html>");
        }else if(e.getSource()==jl_score){
            jl_score.setText("<html><font color='black' >" + "成绩管理   | " + "</font></html>");
        }else if(e.getSource()==jl_sechdule){
            jl_sechdule.setText("<html><font color='black'>" + "课表管理   | " + "</font></html>");
        }else if(e.getSource()==jl_course){
            jl_course.setText("<html><font color='black'>" + "选课管理    | " + "</font></html>");
        }else if(e.getSource()==jl_user){
            jl_user.setText("<html><font color='black'>" + "用户管理    | " + "</font></html>");
        }else if(admin!=null&&e.getSource()==jl_student){
            jl_student.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_student.setText("<html><font color='black'>" + "学生管理    | " + "</font></html>");
        }else if(admin!=null&&e.getSource()==jl_teacher){
            jl_teacher.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_teacher.setText("<html><font color='black'>" + "教师管理    | " + "</font></html>");
        }else if(admin!=null&&e.getSource()==jl_admin_course){
            jl_admin_course.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
            jl_admin_course.setText("<html><font color='black'>" + "课程管理    | " + "</font></html>");
        }else{
            
        }
        
    }
}

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一、项目简介 本项目是一套基于JavaWeb的学生成绩管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:JSP、Servlet、JDBC ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 该学生成绩管理系统采用B/S结构,使用JAVA开发语言,结合JSP技术,以MySQL作为后台数据库。 该系统共包含三种角色:学生、教师、管理员。 系统功能主要分为七大模块: (1)学生基本信息管理 该模块主要是存储学生的个人信息,如姓名、年龄、电话、班级、专业、考试成绩等,并实现按不同条件对这些数据进行查询的功能。 (2)教师基本信息管理 该模块主要是对老师的个人信息进行存储和索引,如姓名、年龄、婚姻状态、课程、工作时间等,并实现按不同条件对这些数据进行查询的功能。 (3)班级信息管理 该模块主要是对每个班级的基本信息进行有效管理,包括学生个数、学生信息、班干部信息、教师信息等。 (4)课程信息管理 该模块主要存储所有的课程信息,教师、学生等可以根据使用查询自己的课程信息。 (5)成绩信息管理 该模块主要实现对每一次成绩进行管理,成绩信息导入、统计、汇总。 (6)系统设置 该模块主要实现对操作员及操作员密码进行有效管理、学生和教师信息相关功能进行管理。 (7)考勤管理 该模块主要实现学生上课考勤、教师上课考勤的管理,并有相关的考勤统计信息展示。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
Java培训机构教务管理系统是为了方便培训机构统一管理学员信息、课程信息和教务信息而设计的一套系统。该系统采用Java语言进行开发,具有良好的可扩展性和易维护性,在实际应用中得到了广泛的应用。下面从功能、特点和优势三个方面进行详细的介绍。 该系统的主要功能包括学员管理、课程管理、教学计划管理、教学资源管理、统计分析等。学员管理模块主要功能包括学员信息的录入、修改、删除以及查询等,该模块还包括课程信息的查询、选课和退课等功能。课程管理模块主要功能包括课程信息的录入、修改、删除以及查询等,该模块还包括教学计划的制定和教学资源的管理等功能。教学计划管理模块主要功能包括教学计划的制定、发布和修改等,该模块还可以对教学资源进行全面的管理和维护。统计分析模块主要功能包括学员选课情况、课程进度和教学成果等方面的综合统计和分析。 该系统的特点主要包括技术领先、功能全面、易操作等。该系统采用Java语言和MySQL数据库进行开发,具有较高的技术含量和可扩展性。该系统的功能覆盖面广泛,用户可以通过该系统实现学员信息的管理、课程信息的管理、教学计划的制定、教学资源的管理等方面的操作,且操作简单易懂。 该系统的优势主要在于节省时间、提高效率、减少工作难度。该系统可以极大地节省学院工作人员的时间和精力,提高工作效率和工作质量。该系统提供给培训机构一个全面的学员管理、课程管理、教务管理的解决方案,能够有效地减少工作难度和工作缺陷,提高培训机构的整体运营效率和竞争力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机程序

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值