1、Java课程设计学生信息管理系统 面向对象程序设计课程设计报告题 目:*课程设计 学 院: 信息工程学院 姓 名: * * 学 号: * * *专 业: 计算科学与技术 班 级: * 指导教师: * 2015 年 12月摘 要随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化
2、的学生信息管理软件也不少。该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。使用Java程序编写,能够进行学生信息录入、修改、查看、删除等操作。该程序主要用到了Java swing和事件监听等。1.引 言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年发布。1998年发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Jav
3、a class组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重
4、要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是学生管理系统程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。2.设计目的与任务学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一
5、长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。在计算机网络,数据库和先进的开发平台上,利用现有的软件、硬件资源,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的学生信息管理系统。这个简单的学生信息管理系统包括以下两个基本功能: 管理员登陆 学生信息管理本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,针对这些要求设计了学
6、生管理信息系统。3.设计方案3.1总体设计本程序要构建的学生管理系统程序其功能有以下几个方面: (1)首先是学生管理系统主界面“管理员登录界面”。 (2)管理员登录之后的子界面“学生信息管理界面”。(3)学生信息管理界面可对学生信息进行填写操作。(4)学生信息管理界面底端并含有“录入、查询、修改、删除、显示”五个操作按钮。3.2开发环境3.3Windows XP;层次图3.4界面预览3.4.1登录界面3.4.2该管理员不存在( 用户名:name 用户密码:psw )3.4.3学生信息管理界面3.4.4填写学生信息3.4.5录入学生信息3.4.6查询学生信息3.4.7修改学生信息3.4.8删除学
7、生信息3.4.9显示所有学生信息4.系统说明1、该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中。2、关于管理员信息,必须现在C盘建立一个名为 Login的文本文档,在 Login中存入用户名和密码且必须分行写入。3、若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改。5.设计体会与小结通过这次课程设计,我们大家在老师的帮助下收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。这次的课程设计使我对JAVA的许
8、多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。本次Java课程设计的锻炼,不仅我们的分析问题跟解决问题的能力都得到明显的提高,在这次事件过程中收获很多,对我们而言,知识上的收回,尽管遇到了困难,但还是通过各种途径克服问题。做小小的测试,通过了就很开心,收获颇多,但是知识还是欠缺,我们会继续努力。6.附 录 登录界面源代码 package aa;import .*;import .*;import .*;import .*;class Login extends JFrame
9、 implements ActionListener Container cp=null;String name=null;String psw=null;JFrame f=null;JButton j1,j2;JTextField t1;JPasswordField t2;JLabel jlable1,jlable2;Color c;JPanel jp1,jp2; Login() f=new JFrame(学生管理系统); j1=new JButton(确定); j2=new JButton(取消); cp=(); jlable1=new JLabel( 输入用户名); jlable2=ne
10、w JLabel( 用户密码); jp1=new JPanel(); jp2=new JPanel(); t1=new JTextField(18); t2=new JPasswordField(18); (jlable1); (t1); (jlable2); (t2); JLabel JL=new JLabel(欢迎进入信息工程学院管理系统,; (JL,North); (j1); (j2); (jp1,Center); (South,jp2); ; Toolkit kit=(); Dimension screen=(); int x=; /*取得显示器窗口的宽度*/ int y=; /*取得
11、显示器窗口的高度*/ rim().equals(name)&().equals(psw) new Test(); (); (); else (null,该用户不存在,提示,; (); (); public void actionPerformed(ActionEvent e) String cmd=(); if(确定) try confirm(); catch (IOException e1) (); else if(取消) (); public static void main(String args)Login a=new Login(); 学生信息管理系统源码 package aa;im
12、port .*;import .*;import .*;import .*;public class Student implements String number,name,specialty,grade,borth,sex; public Student(); public void setNumber(String number)=number; public String getNumber()return number; public void setName(String name)=name; public String getName() return name; publi
13、c void setSex(String sex)=sex; public String getSex()return sex; public void setSpecialty(String specialty) =specialty; public String getSpecialty() return specialty; public void setGrade(String grade)=grade; public String getGrade()return grade; public void setBorth(String borth)=borth; public Stri
14、ng getBorth() return borth; class Test extends JFrame JLabel lb=new JLabel(录入请先输入记录、查询、删除请先输入学号修改是对查询+内容改后的保存); JTextField 学号,姓名,专业,年级,出生; JRadioButton 男,女; ButtonGroup group=null; JButton 录入,查询,删除,修改,显示; JPanel p1,p2,p3,p4,p5,p6,pv,ph;Student 学生=null;Hashtable 学生散列表=null;File file=null;FileInputStr
15、eam inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;public Test()super(学生信息管理系统);学号=new JTextField(10);姓名=new JTextField(10);专业=new JTextField(10);年级=new JTextField(10);出生=new JTextField(10);group=new ButtonGroup();男=new JRadioButton(男,true);女=new
16、JRadioButton(女,false);(男);(女);录入=new JButton(录入);查询=new JButton(查询);删除=new JButton(删除);修改=new JButton(修改);显示=new JButton(显示);录入.addActionListener(new InputAct();查询.addActionListener(new InquestAct();修改.addActionListener(new ModifyAct();删除.addActionListener(new DeleteAct();显示.addActionListener(new Sh
17、owAct();修改.setEnabled(false);p1=new JPanel();(new JLabel(学号:,);(学号);p2=new JPanel();(new JLabel(姓名:,);(姓名);p3=new JPanel();(new JLabel(性别:,);(男);(女);p4=new JPanel();(new JLabel(专业:,);(专业);p5=new JPanel();(new JLabel(年级:,);(年级);p6=new JPanel();(new JLabel(出生:,);(出生);pv=new JPanel();(new GridLayout(6,
18、1);(p1);(p2);(p3);(p4);(p5);(p6);ph=new JPanel();(录入);(查询);(修改);(删除);(显示);file=new File(学生信息.txt);学生散列表=new Hashtable();if(!()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStream objectOut=new ObjectOutputStream(out);(学生散列表);();();catch(IOException e)Container con=getContentPane();(
19、new BorderLayout();(lb,;(pv,;(ph,;setDefaultCloseOperation(EXIT_ON_CLOSE);setBounds(100,100,600,300);setVisible(true);public static void main(String args) new Test();class InputAct implements ActionListenerpublic void actionPerformed(ActionEvent e)修改.setEnabled(false);String number=;number=学号.getTex
20、t();if()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();catch(Exception ee)创建散列表出现问题);if(学生散列表.containsKey(number)String warning=该生信息已存在 请到修改页面修改;(null,warning,警告,;etText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getTe
21、xt();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();学生=new Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);学生散列表.put(number,学
22、生);(学生散列表);();();catch(Exception ee)输出散列表出现问题);学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);etText();if()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtable)();();();catch(Exception ee)散列表有问题);if(学生散列表.containsKey(number)修改
23、.setEnabled(true);Student stu=(Student)学生散列表.get(number);姓名.setText();专业.setText();年级.setText();出生.setText();if().equals( 男)男.setSelected(true);else女.setSelected(true);else修改.setEnabled(false);String warning=该学号不存在;(null,warning, 警 告,;else修改.setEnabled(false);String warning=必须输入学号;(null,warning, 警 告
24、,;class ModifyAct implements ActionListenerpublic void actionPerformed(ActionEvent e)String number=学号.getText();String name=姓名.getText();String specialty=专业.getText();String grade=年级.getText();String borth=出生.getText();String sex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();Student 学生=n
25、ew Student();学生.setNumber(number);学生.setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);学生散列表.put(number, 学生);(学生散列表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setT
26、ext(null);出生.setText(null);catch(Exception ee)录入修改出现异常!);修改.setEnabled(false);class DeleteAct implements ActionListenerpublic void actionPerformed(ActionEvent e)修改.setEnabled(false);String number=学号.getText();if()0)tryinOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne);学生散列表=(Hashtabl
27、e)();();();catch(Exception ee)if(学生散列表.containsKey(number)Student stu=(Student)学生散列表.get(number);姓名.setText();专业.setText();年级.setText();出生.setText();if().equals( 男)男.setSelected(true);else女.setSelected(true);String m=确定要删除该学生的记录吗;int ok=(null,m,确认,;if(ok=学生散列表.remove(number);tryoutOne=new FileOutput
28、Stream(file);outTwo=new ObjectOutputStream(outOne);(学生散列表);();();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);catch(Exception ee) if(ok=学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);elseString warning=该学号不存在;(null,warning, 警 告,;elseString warning=必须输入学号;(null,warning, 警 告,;class ShowAct implements ActionListenerpublic void actionPerformed(ActionEvent e)new StudentShow(file);class StudentShow extends JDialogHashtable 学生散列表=null;JTextArea 显示=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;Fi
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1