Java课程设计-学生信息管理系统_第1页
Java课程设计-学生信息管理系统_第2页
Java课程设计-学生信息管理系统_第3页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向对象程序设计课程设计报告题目:.*课程设计学院:信息工程学院姓名:*学号:*专业:汁算科学与技犬班级:*指导教帅:*2015年12月目录1. 目录1摘要2引言3设计目的与任务4设计方案51.1 总体设计51.2 开发环境51.3 层次图51.4 界面预览51.4.1 登录界面51.4.2 该管理员不存在(用户名:name用户密码:psw)61.4.3 学生信息管理界面61.4.4 填写学生信息71.4.5 录入学生信息71.4.6 查询学生信息71.4.7 修改学生信息81.4.8 删除学生信息81.4.9 显示所有学生信息9系统说明10设计体会与小结11附录121.5 登录界面源代码Lo

2、gin.java121.6 学生信息管理系统源码Student.java14摘要随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。目前社会上信息管理系统发展飞快,各个企业事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少。该报告中的程序是简单的学生管理系统,该系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。使用Java程序编

3、写,能够进行学生信息录入、修改、查看、删除等操作。该程序主要用到了Javaswing和事件监听等。1.引言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。+多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Javaclass组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运

4、行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有JavaMEJavaSE和JavaEE=Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有JavaDevelopmentKit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中JavaDevelopmentKit简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。在本程因设计中,因为需要开发的是学生管理系统程序,规模较小,内

5、容较少,所以选择了适合初学者使用的JCreator开发工具。2.设计目的与任务学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已

6、进入人类社会的各个领域并发挥着来越重要的作用。在计算机网络,数据库和先进的开发平台上,利用现有的软件、硬件资源,开发一个具有开放体系结构的,易扩充的,易维护的,具有良好人机交互界面的学生信息管理系统。这个简单的学生信息管理系统包括以下两个基本功能:-管理员登陆-学生信息管理本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,针对这些要求设计了学生管理信息系统。3.设计方案3.1总体设计本程序要构建的学生管理系统程序其功能有以下几个方面:(1) 首先是学生管理系统主界面“管理员登录界面”。(

7、2) 管理员登录之后的子界面“学生信息管理界面”。(3) 学生信息管理界面可对学生信息进行填写操作。学生信息管理界面底端并含有“录入、查询、修改、删除、显示”五个操作按钮开发环境WindowsXEmyeclipse-8.5.0-win3登录界面3.4.2该管理员不存在(用户名:name用户密码:psw)3.4.3学生信息管理界面3.4.4填写学生信息3.4.5录入学生信息3.4.6查询学生信息3.4.7修改学生信息3.4.8删除学生信息3.4.9显示所有学生信息4. 系统说明1、该系统并未使用数据库,只是把信息存放在了一个新建立的文本文档中

8、。2、关于管理员信息,必须现在C盘建立一个名为Login的文本文档,在Login中存入用户名和密码且必须分行写入。3、若要修改学生信息必须先进行信息的查询,查询后方可进行信息修改。5. 设计体会与小结通过这次课程设计,我们大家在老师的帮助下收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。编程是个艰难的过程,很多功能语句都需要上网或者是查其他书籍来查看他们的用法,课本上的东西对我们来说远远不够,我们要把目光放长远一些。这次的课程设计使我对JAVA的许多东西都有了更深一步的了解,以前对自己的要求是看得懂就行,现在才发现,光能看懂是远远不够的,能看懂并不代表你会!

9、课本被翻过很多遍,很多以前不知道的东西就这样豁然开朗了。本次Java课程设计的锻炼,不仅我们的分析问题跟解决问题的能力都得到明显的提高,在这次事件过程中收获很多,对我们而言,知识上的收回,尽管遇到了困难,但还是通过各种途径克服问题。做小小的测试,通过了就很开心,收获颇多,但是知识还是欠缺,我们会继续努力。6. 附录6.1登录界面源代码Login.javapackageaa;importjava.awt.event.*;importjavax.swing.*;importjava.awt.*;importjava.awt.event.ActionEvent;importjava.awt.even

10、t.ActionListener;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.io.BufferedReader;importjava.io.File;importjava.io.FileReader;importjava.io.IOException;importjava.util.*;importjava.sql.*;classLoginextendsJFrameimplementsActionListenerContainercp=null;Stringname=null;S

11、tringpsw=null;JFramef=null;JButtonj1,j2;JTextFieldt1;JPasswordFieldt2;JLabeljlable1,jlable2;Colorc;JPaneljp1,jp2;Login()f=newJFrame("学生管理系统”);j1=newJButton("确定");j2=newJButton("取消");cp=f.getContentPane();jlable1=newJLabel("输入用户名");jlable2=newJLabel("用户密码”);jp1

12、=newJPanel();jp2=newJPanel();t1=newJTextField(18);t2=newJPasswordField(18);jp1.add(jlable1);jp1.add(t1);jp1.add(jlable2);jp1.add(t2);欢迎进入信息工程学院管JLabelJL=newJLabel("<html><fontcolor=#CC00FFsize='4'><i>理系统</i></font>",SwingConstants.CENTERcp.add(JL,"

13、;North");jp2.add(j1);jp2.add(j2);cp.add(jp1,"Center");cp.add("South",jp2);jp1.setBackground(Color.lightGray);Toolkitkit=Toolkit.getDefaultToolkit();Dimensionscreen=kit.getScreenSize();intx=screen.width;/*取得显示*/inty=screen.height;/*取得显示器窗口的高度*/setSize(x,y);/*让系统窗口平铺整个显示器窗口*/f

14、.setSize(300,300);intxcenter=(x-300)/2;intycenter=(y-300)/2;f.setLocation(xcenter,ycenter);/*显示在窗口中央*/f.setVisible(true);/j1.addActionListener(j2.addActionListener(f.addWindowListener(this);/注册事件监听器this);newWindowAdapter()publicvoidwindowClosing(WindowEvente)System.exit(0););publicvoidconfirm()throw

15、sIOException/验证用户和密码是否存在Filefile=newFile("C:/Login.txt");tryif(!file.exists()file.createNewFile();catch(IOExceptione)e.printStackTrace();BufferedReaderbr=newBufferedReader(newFileReader(file);Stringtemp=br.readLine();Stringline;while(line=br.readLine()!=null)temp+=","+line;if(tem

16、p=null)System.out.println();)else(Stringstr=temp.split(",”);name=str0;psw=str1;if(t1.getText().trim().equals(name)&&(t2.getText().equals(psw)newTest();f.hide();br.close();)elseJOptionPane.showMessageDialog(null,"该用户不存在”,”提示?",JOptionPane.YES_NO_OPTION)t1.setText("");

17、t2.setText("");)publicvoidactionPerformed(ActionEvente)Stringcmd=e.getActionCommand();if(cmd.equals("确定")tryconfirm();)catch(lOExceptione1)e1.printStackTrace();)elseif(cmd.equals("取消")f.dispose();)publicstaticvoidmain(Stringargs)Logina=newLogin();)6.2学生信息管理系统源码Student.j

18、avapackageaa;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importimportjava.io.*;java.util.*;classStudentimplementsjava.io.Serializable(publicStringnumber,name,specialty,grade,borth,sex;publicpublicpublicpublicpublicpublicpublicpublicpublicpublicpublicpublicpublicclassTestStudent()(;vo

19、idsetNumber(Stringnumber)(this.number=number;StringgetNumber()(returnnumber;voidsetName(Stringname)(=name;StringgetName()(returnname;voidsetSex(Stringsex)(this.sex=sex;StringgetSex()(returnsex;voidsetSpecialty(Stringspecialty)(StringgetSpecialty()(voidsetGrade(Stringgrade)(StringgetGrade()r

20、eturnvoidsetBorth(Stringborth)StringgetBorth()returnthis.specialty=specialty;returnspecialty;this.grade=grade;grade;this.borth=borth;borth;extendsJFrameJLabellb=newJLabel("录入请先输入记录、查询、删除请先输入学号的保存?");JTextField学号,姓名,专业,年级,出生;JRadioButton男,女;ButtonGroupgroup=null;JButton录入,查询,删除,修改,显示;?修改是对查

21、询"+"内容改后JPanelp1,p2,p3,p4,p5,p6,pv,ph;Student学生=null;Hashtable学生散列表=null;Filefile=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;publicTest()super("学生信息管理系统");学号=newJTextField(10);姓名=newJTextField(10);专业=newJTe

22、xtField(10);年级=newJTextField(10);出生=newJTextField(10);group=newButtonGroup();男=newJRadioButton("男",true);女=newJRadioButton("女",false);group.add(男);group.add(女);录入=newJButton("录入");查询=newJButton("查询");删除=newJButton("删除");修改=newJButton("修改");

23、显示=newJButton("显示");););newInputAct();newInquestAct();newModifyAct();newDeleteAct();newShowAct();录入.addActionListener(查询.addActionListener(修改.addActionListener(删除.addActionListener(显示.addActionListener(修改.setEnabled(falsep1=newJPanel();p1.add(newJLabel("学号:",JLabel.CENTERp1.add(学

24、号);p2=newJPanel();p2.add(newJLabel("姓名:",JLabel.CENTERp2.add(姓名);p3=newJPanel();p3.add(newJLabel("性别:",JLabel.CENTERp3.add(男);p3.add(女);p4=newJPanel();p4.add(newJLabel("专业:",JLabel.CENTERp4.add(专业);p5=newJPanel();p5.add(newJLabel("年级:",JLabel.CENTERp5.add(年级);

25、p6=newJPanel();p6.add(newJLabel("出生:",JLabel.CENTERp6.add(出生);pv=newJPanel();pv.setLayout(newGridLayout(6,1);pv.add(p1);pv.add(p2);pv.add(p3);pv.add(p4);pv.add(p5);pv.add(p6);ph=newJPanel();ph.add(录入);ph.add(查询);ph.add(修改);ph.add(删除);ph.add(显示);file=newFile("学生信息.txt");学生散列表=newH

26、ashtable();if(!file.exists()tryFileOutputStreamout=newFileOutputStream(file);ObjectOutputStreamobjectOut=newObjectOutputStream(out);objectOut.writeObject(学生散列表);objectOut.close();out.close();catch(IOExceptione)Containercon=getContentPane();NORTHCENTERSOUTHEXIT_ON_CLOSEContainercon=getContentPane();N

27、ORTHCENTERSOUTHEXIT_ON_CLOSENORTHCENTERSOUTHEXIT_ON_CLOSENORTHCENTERSOUTHEXIT_ON_CLOSEcon.setLayout(newBorderLayout();con.add(lb,BorderLayout.con.add(pv,BorderLayout.con.add(ph,BorderLayout.setDefaultCloseOperation(setBounds(100,100,600,300);setVisible(true);publicstaticvoidmain(String口args)newTest(

28、);classInputActimplementsActionListenerpublicvoidactionPerformed(ActionEvente)修改.setEnabled(false);Stringnumber=""number=学号.getText();if(number.length()>0)tryinOne=newFileInputStream(file);inTwo=newObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();

29、catch(Exceptionee)System.out.println("创建散列表出现问题?”);if(学生散列表.containsKey(number)Stringwarning="该生信息已存在?请到修改页面修改?”;JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE/endif1elseStringm="该生信息将被录入?";intok=JOptionPane.showConfirmDialog(null,m,"确认

30、",JOptionPane.YES_NO_OPTIOOptionPane.INFORMATION_MESSAGEif(ok=JOptionPane.YES_OPTIQNStringname=姓名.getText();Stringspecialty=专业.getText();Stringgrade=年级.getText();Stringborth=出生.getText();Stringsex=null;if(男.isSelected()sex=男.getText();elsesex=女.getText();学生=newStudent();学生.setNumber(number);学生.

31、setName(name);学生.setSpecialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);tryoutOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);学生散列表.put(number,学生);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();catch(Exceptionee)System.out.println("输出散列表出现问题?”);

32、学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);/endelse1/endif0elseStringwarning="必须输入学号?";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGE/endelse0/endactionPerformed)/endclassclassInquestActimplementsActionListene

33、r(publicvoidactionPerformed(ActionEvente)(Stringnumber=""number=学号.getText();if(number.length()>0)tryinOne=newFileInputStream(file);inTwo=newObjectInputStream(inOne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();)catch(Exceptionee)System.out.println("散列表有问题?”);if(

34、学生散列表.containsKey(number)修改.setEnabled(true);Studentstu=(Student)学生散列表.get(number);姓名.setText(stu.getName();专业.setText(stu.getSpecialty();年级.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals("男")男.setSelected(true);else女.setSelected(true);else修改.setEnabled(false);Stri

35、ngwarning="该学号不存在?”;JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGEelse修改.setEnabled(false);Stringwarning="必须输入学号?";JOptionPane.showMessageDialog(null,warning,"警告",JOptionPane.WARNING_MESSAGEclassModifyActimplementsActionListenerpublicvo

36、idactionPerformed(ActionEvente)Stringnumber=学号.getText();Stringname=姓名.getText();Stringspecialty=专业.getText();Stringgrade=年级.getText();Stringborth=出生.getText();Stringsex=null;if(男.isSelected()(sex=男.getText();else(sex=女.getText();Student学生=newStudent();学生.setNumber(number);学生.setName(name);学生.setSpe

37、cialty(specialty);学生.setGrade(grade);学生.setBorth(borth);学生.setSex(sex);try(outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);学生散列表.put(number,学生);outTwo.writeObject(outTwo.close();outOne.close();学号.setText(姓名.setText(专业.setText(年级.setText(出生.setText(学生散列表);nullnullnullnullnull);)

38、;);););catch(Exceptionee)(System.out.println("录入修改出现异常!”);修改.setEnabled(false);classDeleteActimplementsActionListener(publicvoidactionPerformed(ActionEvente)(修改.setEnabled(false);Stringnumber=学号.getText();if(number.length()>0)(try(inOne=newFileInputStream(file);inTwo=newObjectInputStream(inO

39、ne);学生散列表=(Hashtable)inTwo.readObject();inOne.close();inTwo.close();catch(Exceptionee)(if(学生散列表.containsKey(number)Studentstu=(Student)学生散列表.get(number);姓名.setText(stu.getName();专业.setText(stu.getSpecialty();年级.setText(stu.getGrade();出生.setText(stu.getBorth();if(stu.getSex().equals("男")男.s

40、etSelected(true);else女.setSelected(true);Stringm="确定要删除该学生的记录吗?”;intok=JOptionPane.showConfirmDialog(null,m,"确认",JOptionPane.YES_NO_OPTIQOptionPane.QUESTION_MESSAGEif(ok=JOptionPane.YES_OPTIO)N学生散歹1J表.remove(number);tryoutOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outO

41、ne);outTwo.writeObject(学生散列表);outTwo.close();outOne.close();学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);catch(Exceptionee)System.out.println(ee);elseif(ok=JOptionPane.NO_OPTIO)N学号.setText(null);姓名.setText(null);专业.setText(null);年级.setText(null);出生.setText(null);else警告",JOptionPane.WARNING_MESSAGE警告",JOptionPane.WARNING_MESSAGE警告",JOptionPane.WARNING_MESSAGE警告",JOptionPane.WARNING_MESSAGEStringwarning="该学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论