今天为大家分享一个优秀的项目教务教学管理系统 的开发与制作。系统用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> </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{
}
}
}