版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计课程设计目录TOC\o"1-2"\h\zHYPERLINK\l”_Toc265281114”一、总体设计1.1同学信息系统结构图………………1。HYPERLINK\l"_Toc265281115"1.2本系统的主要功能…………………2。1。3Java源文件及其功能………………2。HYPERLINK\l"_Toc265281119"二、简略设计HYPERLINK\l"_Toc265281120”2。1主类StudentManager………………3。HYPERLINK\l”_Toc265281121"2.2类StudentSituation………………5HYPERLINK\l”_Toc265281122"2.3类ModifySituation……………….8HYPERLINK\l"_Toc265281123”2.4类inquest…………10HYPERLINK\l"_Toc265281126"2.5类Delete……………12HYPERLINK\l”_Toc265281124"HYPERLINK\l”_Toc265281125”2。6类Student………….13HYPERLINK\l"_Toc265281127"三、功能测试及运行效果HYPERLINK\l"_Toc265281128"3.1系统主界面………….15HYPERLINK\l"_Toc265281129"3。2录入信息界面……………………。。15HYPERLINK\l”_Toc265281130"3.3修改信息界面……………………..。163.3查询信息界面…………163。3删除信息界面…………17程序总结……………………17HYPERLINK\l”_Toc265281133”HYPERLINK\l”_Toc265281134"参考文献……………………17一、总体设计1.1同学信息系统结构图学生信息管理系统学生信息管理系统查询学生信息删除学生信息修改学生信息录入学生信息查询学生信息删除学生信息修改学生信息录入学生信息删除学号查询学号修改年级修改专业修改姓名录入学号修改生日录入年级出生日期录入姓名录入专业录入学号删除学号查询学号修改年级修改专业修改姓名录入学号修改生日录入年级出生日期录入姓名录入专业录入学号删除专业删除姓名显示生日显示年级显示专业显示姓名删除生日删除年级删除专业删除姓名显示生日显示年级显示专业显示姓名删除生日删除年级同学信息系统分析结构图1.2本系统的主要功能运行该系统成功后,会消灭一个欢迎使用的主界面,上面的菜单选项,会弹出4个子菜单分别是录入基本信息、修改基本信息、查询基本信息、删除基本信息。点击它们会消灭不同的界面,分别有不同的功能:1.StudentManager。java该类负责创建同学信息管理系统的主窗口,该类还有main方法,程序从该类开头执行。2.StudentSituation.java该类创建的对象是StudentManager类的重要成员之一,负责供应录入、重置同学基本信息的界面。3。ModifySituation.java该类创建的对象是StudentManager类的重要成员之一,负责供应修改同学基本信息的界面.4.Delete.java该类创建的对象是StudentManager类的重要成员之一,负责供应删除同学基本信息的界面。5.inquest。java创建的对象是StudentManager类的重要成员之一,该类负责供应查询同学基本信息的界面。6。Student.java该类创建的对象是StudentManager类的重要成员之一,该类在做上面操作时可以返回同学的基本信息,主要起到一个返回的作用。本系统是基于数据库的同学信息管理系统,实现了连接数据库,录入、修改、查询、删除同学信息的功能。1.3Java源文件及其功能1。icon。jpg该文件是窗口最小化时的窗口图标,StudentSituation需要调用该文件。2。专业。txt该文件为专业组合的组合键供应下拉菜单的内容,StudentSituation和ModifySituation调用该文件.二、简略设计2.1主类StudentManager表2—1主要成员变量(属性)成员变量描述变量类型名称面板StudentSituationNULL面板ModifySituationNULL面板inquestNULL面板DeleteNULL菜单栏JMenuBarbar菜单组JMenufileMenu菜单项JMenuItemStudentSituation,ModifySituationInquest,Delete布局管理器CardLayoutcard表2—2主要方法方法名称返回类型功能备注StudentManager无类型创建窗口构造方法actionPerformed无类型处理响应大事继承自父类抽象方法main无类型执行程序程序的主函数源代码StudentManager.javaimportjava.awt。*;importjava.awt.event.*;importjavax.swing.*;importjava.io。*;importjava。util.Hashtable;publicclassStudentManagerextendsJFrameimplementsActionListener{StudentSituation基本信息录入=null;ModifySituation基本信息修改=null;Inquest基本信息查询=null;Delete基本信息删除=null;JMenuBarbar;JMenufileMenu;JMenuItem录入,修改,查询,删除;Containercon=null;Hashtable基本信息=null;Filefile=null;CardLayoutcard=null;JLabellabel=null;JPanelpCenter;publicStudentManager(){录入=newJMenuItem(”录入基本信息”);修改=newJMenuItem(”修改基本信息");查询=newJMenuItem("查询基本信息”);删除=newJMenuItem("删除基本信息");bar=newJMenuBar();fileMenu=newJMenu("菜单选项");fileMenu。add(录入);fileMenu.add(修改);fileMenu.add(查询);fileMenu.add(删除);bar.add(fileMenu);setJMenuBar(bar);label=newJLabel(”welcometousestudentssystem!”,JLabel.CENTER);label.setFont(newFont("楷体",Font.BOLD,22));label.setForeground(Color.black);基本信息=newHashtable();录入.addActionListener(this);修改.addActionListener(this);查询.addActionListener(this);删除.addActionListener(this);card=newCardLayout();con=getContentPane();pCenter=newJPanel();pCenter。setLayout(card);file=newFile("基本信息.txt”);if(!file.exists()){try{FileOutputStreamout=newFileOutputStream(file);ObjectOutputStreamobjectOut=newObjectOutputStream(out);objectOut.writeObject(基本信息);objectOut。close();out.close();}catch(IOExceptione){}}基本信息录入=newStudentSituation(file);基本信息修改=newModifySituation(file);基本信息查询=newInquest(this,file);基本信息删除=newDelete(file);pCenter.add("欢迎语界面”,label);pCenter.add("录入界面",基本信息录入);pCenter.add("修改界面",基本信息修改);pCenter.add(”删除界面",基本信息删除);con.add(pCenter,BorderLayout.CENTER);con。validate();addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System。exit(0);ﻩ}});setVisible(true);setBounds(100,50,420,380);validate();}publicvoidactionPerformed(ActionEvente){if(e。getSource()==录入){card.show(pCenter,”录入界面");}elseif(e。getSource()==修改){card.show(pCenter,”修改界面");}elseif(e。getSource()==查询){基本信息查询.setVisible(true);}elseif(e。getSource()==删除){card。show(pCenter,”删除界面");}}publicstaticvoidmain(Stringargs[]){newStudentManager();}}2.2类StudentSituation表2-3主要成员变量成员变量描述变量类型名称Hashtable对象类型HashtableNULL文本域JTextField学号、姓名、专业、班级、诞生组合框JComboBoxSmajor单选框ButtonGroup男、女按钮多斥作用域ButtonGroupgroup按钮JButton录入、重置表2—4主要方法方法名称返回类型功能备注StudentSituation无类型创建录入同学信息界面构造方法actionPerformed无类型处理响应大事继承自父类抽象方法源代码StudentSituation.javaimportjava.awt.*;importjava。awt.event。*;importjavax.swing.*;importjava。io.*;importjava。util。*;publicclassStudentSituationextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField学号,姓名,专业,班级,诞生;JRadioButton男,女;Student同学=null;ButtonGroupgroup=null;JButton录入,重置;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicStudentSituation(Filefile){this。file=file;学号=newJTextField(10);姓名=newJTextField(10);专业=newJTextField(10);班级=newJTextField(10);诞生=newJTextField(10);group=newButtonGroup();男=newJRadioButton("男”,true);女=newJRadioButton("女",false);group。add(男);group。add(女);录入=newJButton("录入");重置=newJButton("重置");录入.addActionListener(this);重置。addActionListener(this);Boxbox1=Box。createHorizontalBox();box1。add(newJLabel("学号:”,JLabel.CENTER));box1。add(学号);Boxbox2=Box.createHorizontalBox();box2。add(newJLabel("姓名:",JLabel.CENTER));box2.add(姓名);Boxbox3=Box。createHorizontalBox();box3。add(newJLabel(”性别:”,JLabel.CENTER));box3。add(男);box3.add(女);Boxbox4=Box。createHorizontalBox();box4.add(newJLabel(”专业:",JLabel.CENTER));box4.add(专业);Boxbox5=Box.createHorizontalBox();box5。add(newJLabel("班级:”,JLabel.CENTER));box5。add(班级);Boxbox6=Box。createHorizontalBox();box6.add(newJLabel(”诞生:",JLabel.CENTER));box6.add(诞生);BoxboxH=Box.createVerticalBox();boxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box。createVerticalGlue());JPanelpCenter=newJPanel();pCenter。add(boxH);setLayout(newBorderLayout());add(pCenter,BorderLayout.CENTER);JPanelpSouth=newJPanel();pSouth.add(录入);pSouth.add(重置);add(pSouth,BorderLayout.SOUTH);validate();}publicvoidactionPerformed(ActionEvente){if(e.getSource()==录入){Stringnumber="";number=学号.getText();if(number.length()〉0){try{inOne=newFileInputStream(file);inTwo=newObjectInputStream(inOne);基本信息表=(Hashtable)inTwo。readObject();inOne.close();inTwo。close();}catch(Exceptionee){}if(基本信息表.containsKey(number)){Stringwarning="该生基本信息已存在,请到修改页面修改!";JOptionPane。showMessageDialog(this,warning,"警告”,JOptionPane。WARNING_MESSAGE);}else{Stringm=”基本信息将被录入!";intok=JOptionPane.showConfirmDialog(this,m,"确认”,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE);if(ok==JOptionPane.YES_OPTION){Stringname=姓名.getText();Stringdiscipling=专业。getText();Stringgrade=班级.getText();Stringborth=诞生。getText();Stringsex=null;if(男.isSelected()){sex=男.getText();}else{sex=女。getText();}同学=newStudent();同学.setNumber(number);同学.setName(name);同学.setDiscipling(discipling);同学.setGrade(grade);同学.setBorth(borth);同学.setSex(sex);try{outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);基本信息表。put(number,同学);outTwo.writeObject(基本信息表);outTwo。close();outOne.close();学号.setText(null);姓名。setText(null);专业。setText(null);班级.setText(null);诞生.setText(null);}catch(Exceptionee){System。out。println(ee);}}}}else{Stringwarning="必必要输入学号!”;JOptionPane。showMessageDialog(this,warning,"警告”,JOptionPane.WARNING_MESSAGE);}}if(e.getSource()==重置){学号.setText(null);姓名。setText(null);专业.setText(null);班级.setText(null);诞生。setText(null);}}}HYPERLINK2。3类ModifySituation表2-5主要成员变量成员变量描述变量类型名称Hashtable对象类型HashtableNULL文本域JTextField学号、姓名、专业、班级、诞生组合框JComboBoxSmajor单选框ButtonGroup男、女按钮多斥作用域ButtonGroupgroup按钮JButton开头修改、录入修改、重置表2-6主要方法方法名称返回类型功能备注ModifySituation无类型创建修改同学信息界面构造方法actionPerformed无类型处理响应大事继承自父类抽象方法clearMess无类型清除文本框内容无8核心源代码ModifySituation。javapublicclassModifySituationextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField学号,姓名,专业,班级,诞生;JRadioButton男,女;ButtonGroupgroup=null;JButton开头修改,录入修改,重置;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicModifySituation(Filefile){this.file=file;学号=newJTextField(10);姓名=newJTextField(10);专业=newJTextField(10);班级=newJTextField(10);诞生=newJTextField(10);group=newButtonGroup();男=newJRadioButton(”男”,true);女=newJRadioButton("女”,false);group.add(男);group。add(女);开头修改=newJButton(”开头修改");录入修改=newJButton(”录入修改");录入修改.setEnabled(false);重置=newJButton("重置");学号.addActionListener(this);开头修改。addActionListener(this);录入修改.addActionListener(this);重置.addActionListener(this);Boxbox1=Box。createHorizontalBox();。.......。....。..部分源代码省略....。。..。。...。...学号.setText(null);姓名.setText(null);专业。setText(null);班级.setText(null);诞生.setText(null);}catch(Exceptionee){System.out.println(ee);}录入修改.setEnabled(false);}elseif(ok==JOptionPane.NO_OPTION){录入修改。setEnabled(true);}}else{Stringwarning="该学号没有基本信息,不能修改!";录入修改.setEnabled(false);}}else{Stringwarning="必必要输入学号!”;JoptionPane.showmessageDialog(this,waring,”警告",JoptionPane.WARNING录入修改。setEnabled(false);}}if(e.getSource()==重置){学号.setText(null);姓名.setText(null);专业.setText(null);班级。setText(null);诞生.setText(null);}}}HYPERLINK\l”_Toc265281123”2.4类inquest表2—7主要成员变量成员变量描述变量类型名称Hashtable对象类型Hashtableinquest文本域JTextField学号,姓名,专业,班级,诞生启动并执行打印作业PrintJobpri单选框ButtonGroup男,女按钮多斥作用域ButtonGroupgroup按钮JButton查询表2-8主要方法方法名称返回类型功能备注inquest无类型创建录入同学信息界面构造方法actionPerformed无类型处理响应大事继承自父类抽象方法核心源代码inquest.javaimportjava.awt.*;importjava.awt。event。*;importjavax.swing。*;importjava.io.*;importjava.util。*;publicclassInquestextendsJDialogimplementsActionListener{Hashtable基本信息表=null;JTextField学号,姓名,专业,班级,诞生;JRadioButton男,女;JButton查询;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;Filefile=null;publicInquest(JFramef,Filefile){。.。.。...。..。.。..部分源代码省略.。....。。。.。。。..。.inOne。close();inTwo.close();}catch(Exceptionee){}if(基本信息表.containsKey(number)){Studentstu=(Student)基本信息表.get(number);姓名。setText(stu.getName());专业.setText(stu.getDisciping());班级.setText(stu.getGrade());诞生.setText(stu.getBorth());if(stu。getSex().equals("男")){男.setSelected(true);}else{女.setSelected(true);}}else{Stringwarning="该学号不存在!";}}}HYPERLINK\l”_Toc265281126"2。5类Delete表2-9主要成员变量成员变量描述变量类型名称Hashtable对象类型HashtabledelStuqueryStu文本域JTextField学号,姓名,专业,班级,诞生单选框ButtonGroup男,女按钮多斥作用域ButtonGroupgroup按钮JButtondel表2—10主要方法方法名称返回类型功能备注InputStudent无类型创建录入同学信息界面构造方法actionPerformed无类型处理响应大事继承自父类抽象方法核心源代码Delete。javapublicclassDeleteextendsJPanelimplementsActionListener{Hashtable基本信息表=null;JTextField学号,姓名,专业,班级,诞生;JRadioButton男,女;JButton删除;ButtonGroupgroup=null;FileInputStreaminOne=null;ObjectInputStreaminTwo=null;FileOutputStreamoutOne=null;ObjectOutputStreamoutTwo=null;Filefile=null;publicDelete(Filefile){this.file=file;学号=newJTextField(10);删除=newJButton(”删除”);学号。addActionListener(this);删除.addActionListener(this);姓名=newJTextField(10);姓名。setEditable(false);专业=newJTextField(10);专业。setEditable(false);班级=newJTextField(10);班级.setEditable(false);诞生=newJTextField(10);诞生.setEditable(false);男=newJRadioButton(”男”,false);女=newJRadioButton("女",false);AGE);..。..。...。......部分源代码省略.。...。.。....。.。..if(ok==JOptionPane.YES_OPTION){基本信息表。remove(number);try{outOne=newFileOutputStream(file);outTwo=newObjectOutputStream(outOne);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_OPTION){学号。setText(null);姓名。setText(null);专业。setText(null);班级。setText(null);诞生.setText(null);}}else{Stringwarning=”该学号不存在!";JOptionPane。showMessageDialog(this,warning,”警告”,JOptionPane.WARNING_MESSAGE);}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省常德市2024-2025学年三年级上学期11月期中英语试题
- DB11T 1126-2014 实验动物垫料
- 职业卫生和放射卫生国家随机监督抽查计划
- 海南省琼中黎族苗族自治县2024-2025学年七年级上学期期中地理试题(含答案)
- 职业学院通信技术专业人才培养方案
- 吊椅缆车市场需求与消费特点分析
- 人工日光浴晒黑服务行业相关项目经营管理报告
- 人教版英语八年级下册 Unit 1 Section B (3a-SC)随堂练习
- 人教版八年级下册 Section A 单词短语专练(2课时)
- 基因疗法研究行业市场调研分析报告
- 临床PCR检验的室内质控方法课件
- 拉曼光谱简介课件
- 计算机解决问题的过程-优质课课件
- 非线性电路分析基础讲解课件
- 高中通用技术-闭环控制系统的工作过程与方式-优质课课件
- 第四单元课文复习(课件)部编版语文五年级上册
- 2023年广东南海产业集团有限公司招聘笔试模拟试题及答案解析
- 作文讲评-“忘不了……”课件
- 深基坑安全管理(安全培训)课件
- 领导力与团队管理课件
- 《基督徒知识祷读》课件
评论
0/150
提交评论