学生的管理系统的实训报告材料java语言Word文档下载推荐.docx

上传人:b****5 文档编号:16429723 上传时间:2022-11-23 格式:DOCX 页数:18 大小:1.41MB
下载 相关 举报
学生的管理系统的实训报告材料java语言Word文档下载推荐.docx_第1页
第1页 / 共18页
学生的管理系统的实训报告材料java语言Word文档下载推荐.docx_第2页
第2页 / 共18页
学生的管理系统的实训报告材料java语言Word文档下载推荐.docx_第3页
第3页 / 共18页
学生的管理系统的实训报告材料java语言Word文档下载推荐.docx_第4页
第4页 / 共18页
学生的管理系统的实训报告材料java语言Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

学生的管理系统的实训报告材料java语言Word文档下载推荐.docx

《学生的管理系统的实训报告材料java语言Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生的管理系统的实训报告材料java语言Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

学生的管理系统的实训报告材料java语言Word文档下载推荐.docx

该类主要是控制学生选课,学生根据教师安排的课程信息,由学生输入已经安排好的“课程号”就可以选课。

(5)CourseTable.java类

该类主要控制学生的课程安排,就是以课表显示学生的选课信息。

(6)NewClass.java类

该类主要是有教师操作,教师通过输入正确的班级号、班级名、专业信息后就可以添加新的班级。

(7)NewStu.java类

该类作为教师客户端的一个主要模块,该模块是教师添加新学生。

教师通过输入学生的基本信息,包括:

姓名、出生年月、学号、籍贯、入学年份、专业等等。

这样就可以添加新学生。

(8)StuClient.java类

该类是基于Login类的,这是学生客户端的界面类,该类控制了学生客户端要显示什么内容,由什么功能等等。

包括:

修改密码、查看自己基本信息和成绩、选课等功能界面的显示。

(9)TeacherClient.java类

该类是教师客户端界面的类,该类和StuClient类的功能基本相似,主要包括修改密码、添加新学生、查看学生基本信息和成绩信息、进行课程安排、添加新课程和班级等功能的显示。

(10)StuInfo.java类

StuInfo.java类是学生查询学生自己的基本信息。

(11)TeachSearchInfo.java类

TeachSearchInfo.java类是教师根据学生提供的基本信息建立学生基本信息电子档案。

即新生报到功能的实现。

(12)Welcome.java类

该类最为简单,仅仅通过一张xs.jpg图片显示在学生和教师客户端中。

(13)CourseManage.java类

该类是教师管理课程,教师可以对课程安排,包括:

周次、任课教师、学分等信息,为学生选课做准备。

(14)GetScore.java类

该类是提供学生的成绩各科成绩,包括及格成绩和不及格成绩,以及学分。

(15)GetStuInfo.java类

根据学号获得学生相应基本信息的方法。

教师在输入学生学号后点击“查询”按钮查看相应学生的基本信息。

(16)GradeInDB.java类

该类的功能是公布学生某一科的成绩,教师通过点击“公布该科成绩单”就会公布该科的成绩,学生就会在学生自己客户端查看自己的成绩信息。

(17)NewCourse.java类

该类主要是有教师操作,教师通过输入正确的课程号、课程名、学分信息后就可以添加新的课程,这个类与NewClass.Java的功能相似。

(18)StuFailGrade.java类

该类功能是显示学生的不及格成绩。

学生在查看成绩时候,点击“不及格成绩”时显示的界面。

(19)StuGrade.java类

该类功能是显示学生的已修课程成绩。

学生在查看成绩时候,点击“已修课程成绩”时显示的界面。

(20)StuScore.java类

该类是教师通过输入学生的“学号”进行查询学生的成绩信息。

1、Login类(主类)

(1)数据和方法

Login类是javax.swing包中JFrame的一个字类,并实现了ActionListener接口。

类中有关数据和方法的详细说明。

1)成员变量

该类中的变量大部分都是私有的,这样有利于信息的封装。

其中包括:

privateConnectionconn;

//连接数据库用到

privateStatementstmt;

//执行数据库语句

privateResultSetrs;

//结果集

privateJPaneljp=newJPanel();

//创建用来存放空间的容器

privateJLabeljl1=newJLabel("

用户名"

);

privateJLabeljl2=newJLabel("

密码"

//创建用户名和密码输入框

privateJTextFieldjtf=newJTextField();

privateJPasswordFieldjpwf=newJPasswordField();

privateJRadioButton[]jrbArray={newJRadioButton("

普通学生"

true),

newJRadioButton("

管理人员"

)};

//创建单选按钮数组

privateButtonGroupbg=newButtonGroup();

//创建组

//创建操作按钮

privateJButtonjb1=newJButton("

登陆"

privateJButtonjb2=newJButton("

重置"

2)方法

main(Stringargs[]);

方法是学生管理系统程序运行的入口方法。

Login();

是构造方法,负责完成窗口的初始化。

addListener();

添加事件监听器方法。

initialFrame();

初始化窗体

actionPerformed(ActionEvente);

实现接口方法

initialConnection();

自定义的初始化数据库连接的方法

closeConn();

关闭数据库

2、代码

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.event.*;

importjava.util.*;

import.*;

importjava.io.*;

importjava.sql.*;

importjavax.sql.*;

publicclassLoginextendsJFrameimplementsActionListener

{privateStringhost;

//声明Connection引用、Statement对象引用与结果集引用

privateConnectionconn;

privateJLabeljl3=newJLabel("

"

//正在登陆提示标签

true),newJRadioButton("

//创建组

publicLogin()

{this.addListener();

initialFrame();

//初始化界面}

publicvoidaddListener()

{this.jb1.addActionListener(this);

//为登陆按钮注册监听器

this.jb2.addActionListener(this);

//为重置按钮注册监听器

this.jtf.addActionListener(this);

//为用户名文本框注册监听器

this.jpwf.addActionListener(this);

//为用户名密码框注册监听器

}

publicvoidinitialFrame()

{jp.setLayout(null);

//设为空布局

//将控件添加到容器相应位置

jl1.setBounds(30,100,110,25);

jp.add(jl1);

jtf.setBounds(120,100,130,25);

jp.add(jtf);

jl2.setBounds(30,140,110,25);

jp.add(jl2);

jpwf.setBounds(120,140,130,25);

jp.add(jpwf);

jpwf.setEchoChar('

*'

bg.add(jrbArray[0]);

bg.add(jrbArray[1]);

jrbArray[0].setBounds(40,180,100,25);

jp.add(jrbArray[0]);

jrbArray[1].setBounds(145,180,100,25);

jp.add(jrbArray[1]);

jb1.setBounds(35,210,100,30);

jp.add(jb1);

jb2.setBounds(150,210,100,30);

jp.add(jb2);

jl3.setBounds(40,250,150,25);

jp.add(jl3);

this.add(jp);

//设置窗口的标题、大小、位置以及可见性

this.setTitle("

this.setResizable(false);

DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();

intcenterX=screenSize.width/2;

intcenterY=screenSize.height/2;

intw=300;

//本窗体宽度

inth=320;

//本窗体高度

this.setBounds(centerX-w/2,centerY-h/2-100,w,h);

//设置窗体出现在屏幕中

this.setVisible(true);

}

publicvoidactionPerformed(ActionEvente)

{if(e.getSource()==jb1)

{//按下登陆按钮

Stringname=this.jtf.getText().trim();

if(name.equals("

))

{

JOptionPane.showMessageDialog(this,"

请输入用户名"

"

错误"

JOptionPane.ERROR_MESSAGE);

jl3.setText("

return;

}

Stringpwd=newString(jpwf.getPassword()).trim();

if(pwd.equals("

请输入密码"

inttype=this.jrbArray[0].isSelected()?

0:

1;

//获取登陆类型

try

{//初始化连接

this.initialConnection();

if(type==0)

{//普通学生登陆

Stringsql="

select*fromuser_stuwherestu_id='

+name+"

'

andpwd='

+pwd+"

;

rs=stmt.executeQuery(sql);

if(rs.next())

{newStuClient(name);

//创建学生客户短窗口

this.dispose();

//关闭登陆窗口并释放资源

}

else

{//弹出错误提示窗口

用户名或密码错误"

jl3.setText("

this.closeConn();

//关闭连接,语句及结果集

}

else{//教师登陆

selectcoll_idfromuser_teacherwhereuid='

{Stringcoll_id=rs.getString

(1);

newTeacherClient(coll_id);

//创建教师客户端窗口

//关闭连接,语句及结果集

catch(SQLExceptionea)

{

ea.printStackTrace();

}

elseif(e.getSource()==this.jb2)//按下重置按钮,清空输入信息

{this.jtf.setText("

this.jpwf.setText("

elseif(e.getSource()==jtf)//当输入用户名并回车时

{this.jpwf.requestFocus(true);

elseif(e.getSource()==jpwf)//当输入密码并回车时

{this.jb1.requestFocus(true);

//自定义的初始化数据库连接的方法

publicvoidinitialConnection()

{try

{//加载驱动,创建Connection及Statement

Class.forName("

org.gjt.mm.mysql.Driver"

conn=DriverManager.getConnection("

jdbc:

mysql:

//localhost:

3306/test"

root"

stmt=conn.createStatement();

catch(SQLExceptione)

{

JOptionPane.showMessageDialog(this,"

连接失败,请检查主机地址是否正确"

e.printStackTrace();

catch(ClassNotFoundExceptione)

//初始化的关闭数据库连接的方法

publicvoidcloseConn()

{if(rs!

=null){rs.close();

if(stmt!

=null){stmt.close();

if(conn!

=null){conn.close();

publicstaticvoidmain(Stringargs[])

{

Loginlogin=newLogin();

//创建登陆窗体对象}

3、效果图

Login创建的窗口效果如图1所示。

学生管理系统共有三个窗体:

登录窗体、教师客户端窗体、学生客户端窗体。

主要操作如下:

(1)如果用户名或密码错误,则会弹窗错误提示对话框,如图2所示。

(2)当用户为教师时,登录成功后的窗体会自动全屏显示,展开左边的树状列表,如图3所示,然后通过单击不同节点进行相应的业务操作。

(3)通过单击“退出”节点时,系统会弹出对话框确认,如图4所示,根据用户选择进行相应操作。

(4)当有新生报到时,用户可以单击“新生报到”节点,进入如图5所示的添加学生窗体界面。

 

(5)当教师需要查询某个学生的基本信息时,可以单击“基本信息查询”节点输入学号进行查询,界面如图6所示。

(6)每学期开始,各学院都应该为学生安排可选课程,这时可以通过“开课选项设置”进入选课设置界面进行操作,如图7所示。

教师进行课程设置后效果如图8所示

(7)在每个学期期末,需要对学生的成绩进行录入,用户通过“课程成绩录入”模块进行录入操作,如图9所示。

(8)教师还可以通过点击“添加课程”、“添加班级”节点,进行添加课程和班级操作,如图10和图11所示。

(9)教师可以点击“修改密码”来修改自己的登录密码,如图12所示。

(10)如果用户是学生,登录后的窗体也会自动全屏显示,展开树状列表后的界面如图13所示。

(11)当学生需要选课时,可以通过单击“选课”节点进入如图14所示的选课界面进行选课。

(12)在学生选课过程中,随时可以点击“课表显示”节点查看课表,如图15所示。

(13)学生点击“已修课程成绩”节点时,便可进入已修课程查看界面,查看成绩和学分,如图16所示。

三、项目总结

学生管理系统的完成,对学校的管理带来了方便,也对教师是一个很好的帮助,方便管理,提高了工作的效率。

在本系统开发过程中,由于本人是初次开发软件,在知识、经验方面存在不足。

另外在整个开发过程中,时间也比较仓促,因此,该系统必然存在一些缺陷和不足。

因为对学生的管理整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。

另外,由于自身对网络的不熟悉,本应做到C/S客户端/服务器的软件,结果不能达到预期效果,实为遗憾。

虽然该系统存在诸多的不足,但其功能均已经实现,易于日后程序的更新、数据库管理容易、界面友好、操作方便、安全性好。

相信本学生管理系统是一套学校在日常管理中必不可少的管理软件。

四、心得体会

通过开发这个软件,我掌握了项目的开发过程,了解了基本知识,巩固了我对Java编程语言和软件工程思想的学习,掌握了简单的数据库操作。

尤其掌握了树状列表作为导航的重要性,并且能够运用。

同时编写这个程序让我更好的理解了数组、类的运用及事件的监听和获取等功能。

我相信我会再在java方面下苦工的,相信自己一定能更好的运用java编程语言的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1