版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、需求分析1. 实现对班级和学生基本资料的录入,包括学生的学号,姓名,性别,所学专业,家庭住址以及出生年月等。2. 能够实现对班级学生基本资料的修改。3. 根据学号对学生资料进行查询。4. 能够删除学生的资料。概要设计根据本次课程设计的目的和以上的问题描述,把该班级管理系统分为五个模块:录入模块(StudentSituation)、查询模块(Inques )、删 除模块(Delete )和修 改模块(ModifySituation)。各个模块包括对学生学号,姓名,所学专业,家庭住址,出生日期等信息的操作。系统的结构图如图一:图1系统结构图三、总体设计本班级管理系统共有 6个java源文件。类之
2、间的主要关系如下图所示:图2类之间的主要关系各主类的主要作用如下:该java文件的类负责创建班级学生管理系统的主窗口,该类包含main方法,程序从该类开始执行。该文件的类负责创建班级学生管理系统的学生信息录入界面。该文件的类负责创建班级学生管理系统的学生基本信息修改界面。该文件的类负责创建班级学生管理系统的学生基本信息查询界面。该文件的类负责创建班级学生管理系统的学生信息删除界面。负责创建存放学生信息的对象。四、详细设计1. 管理系统主窗口成员变量表1-1主要成员变量成员变量描述变量类型变量名称基本信息录入Stude ntSituati on基本信息录入基本信息修改ModifySituatio
3、 n基本信息修改基本信息查询In quest基本信息查询基本信息删除Delete基本信息删除菜单选项JMe nultem录入,修改,查询,删除存基本信息的散列表Hashtable基本信息存放散列表的文件Filefile方法表1-2主要方法名称功能备注Stude ntMa nager actio nPerformed mai n创建程序主窗口处理ActionEvent事件程序开始运行构造方法 接口方法界面截图:2. 基本信息录入成员变量表2-1主要成员变量属性描述变量类型变量名称存放“学生”对象的散列表 输入学生基本信息的文本 存放学生信息的对象HashtableJTextFieldStude
4、nt基本信息表学号,姓名,所学专业,家庭住址,出生 学生方法表2-2主要方法名称功能备注Stude ntSituati on创建学生信息录入界面构造方法actio nPeformed处理ActionEvent 事件接口方法录入界面截图:3. 基本信息查询成员变量表3-1主要成员变量属性描述变量类型变量名称存放“学生”对象的散表 显示学生基本信息的文本HashtableJTextField基本信息表学号,姓名,所学专业,家庭住 址,出生方法表3-2主要方法名称功能备注In quest创建杳询界面构造方法actio nPeformed处理ActionEvent 事件接口方法查询截图:4. 基本信息
5、修改成员变量表4-1主要成员变量描述变量类型变量名称存放“学生”对象的散列表输入学生基本信息的文本条HashtabelJTextField基本信息表学号,姓名,所学专业,家庭住址,出生方法表4-2主要方法名称功能备注ModifySituatio n创建学生信息修改界面构造方法actio nPerform处理ActionEvent 事件接口方法修改界面截图:5. 基本信息删除成员变量表5-1主要成员变量描述变量类型变量名称存放“学生”对象的散列表 显示学生基本信息的文本条HashtableJTextField基本信息表学号,姓名,所学专业,家庭住址,出生方法表5-2主要方法名称功能备注Delet
6、e创建学生信息删除界面构造方法actio nPeformed处理 ActionEvent接口方法删除界面截图6. 学生对象成员变量表6-1主要成员变量描述变量类型变量名称学号Stri ngNumber姓名Stri ngName所学专业Stri ngDiscipli ng家庭住址Stri ngGrade出生Stri ngBorth性别Stri ngSex方法表6-2主要方法名称功能Setnu mber设置学号Setnu mber获取学号Setn ame设置姓名Setn ame获取姓名setDiscip ing设置所学专业setDiscip ing获取所学专业setGrade设置家庭住址setGr
7、ade获取家庭住址setBorth设置出生setBorth获取出生setSex设置性别setSex获取性别五、总结与展望课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助 下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到
8、的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后, 一定把以前所学过的知识重新温故。通过这次课程设计使我懂得了理论与实际相结合是很重要从理论中得出的,只有理论知识是远远不够的, 只有把所学的理论知识与实践相结合起来,结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。不过,在用Java开发类似的软件时, 发现在图形界面的设计方面远没有用VB VF等开发工具简单。参考文献:附录:1. 主界面代码import .*; import .*; import .*;importcla
9、ssActionListenerStudentManagerextends JFrame implements录入,修改,查询,删除 ,退出 基本信息 =null;StudentSituation ModifySituation Inquest Delete JMenuBar bar; JMenu fileMenu; JMenuItem Container con=null; Hashtable基本信息录入 =null; 基本信息修改 =null; 基本信息查询 =null; 基本信息删除 =null;File file=null; CardLayout card=null;JLabel la
10、bel;JPanel pCenter; public StudentManager() setTitle(" 欢迎进入班级管理系统 ");) ) )录入 =new JMenuItem(" 录入学生基本信息 修改 =new JMenuItem(" 修改学生基本信息 查询 =new JMenuItem(" 查询学生基本信息 删除 =new JMenuItem(" 删除学生基本信息 退出 =new JMenuItem(" 退出本系统 ");退出 .addActionListener(new ActionListener(
11、)public void actionPerformed(ActionEvent event)(0););bar=new JMenuBar();fileMenu=new JMenu("菜单选项 ");( 录入 );();( 修改 );();( 查询 );();( 删除 );();();( 退出 );(fileMenu);setJMenuBar(bar);label=new JLabel(" 欢迎进入班级管理系统 !",;(new Font("隶书 ",30);J基本信息 =new Hashtable();录入 .addActionLi
12、stener(this);修改 .addActionListener(this);查询 .addActionListener(this);删除 .addActionListener(this);card=new CardLayout();con=getContentPane();pCenter=new JPanel();(card);file=new File(" 学生基本信息 .txt");if(!()tryFileOutputStream out=new FileOutputStream(file);ObjectOutputStreamobjectOut=newObje
13、ctOutputStream(out);( 基本信息 );();();catch(IOException e)基本信息录入 =new StudentSituation(file);基本信息修改 =new ModifySituation(file);基本信息查询 =new Inquest(this,file); 基本信息删除 =new Delete(file);(" 欢迎语界面 ",label);(" 录入界面 ", 基本信息录入 );(" 修改界面 ", 基本信息修改 );(" 删除界面 ", 基本信息删除 );(
14、pCenter,;();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e)(0););setVisible(true); setBounds(100,50,420,380); validate();public void actionPerformed(ActionEvent e)if()=录入 )(pCenter," 录入界面 ");else if()= 修改 )(pCenter," 修改界面 ");else if()= 查询 )基本信息查询 .s
15、etVisible(true);else if()= 删除 )(pCenter," 删除界面 ");public static void main(String args)new StudentManager();2. 录入代码import .*; import .*;import .*;import .*;public class StudentSituation extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 学号 , 姓名 , 所学专业 , 家庭住址 , 出生 ; JR
16、adioButton 男 , 女 ;Student 学生 =null;ButtonGroup group=null;JButton 录入 , 重置 ;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=null;ObjectOutputStream outTwo=null;File file=null;public StudentSituation(File file)=file;学号 =new JTextField(10);姓名 =new JTextField(10);所学专业 =ne
17、w JTextField(10);家庭住址 =new JTextField(10); 出生 =new JTextField(10);group=new ButtonGroup();男 =new JRadioButton(" 男 ",true);女 =new JRadioButton(" 女 ",false);( 男 );( 女 );录入 =new JButton(" 录入 ");重置 =new JButton(" 重置 ");录入 .addActionListener(this);重置 .addActionList
18、ener(this);Box box1=();(new JLabel(" 学号 :",);( 学号 );Box box2=();(new JLabel(" 姓名 :",);( 姓名 );Box box3"=(new JLabe-(=wHnIJ_)八(手(HhBox box4")八(new JLabe-(=<4w_-)(Kfe-)Box box5")八(new JLabe-(=>闹审卑_-)(WM审卑)Box box6")八(new JLabe-(= 圧并_-)八(圧舟)-Box boxH")八
19、(boxD(box2=(box3)八(box4)八(box5)八(box6)八()-Jpane- pcenCDrunew Jpane-0八(boxH)八se 产 ayousew BorderLayouo)八add(pcenCDTJpane- psoufhunew Jpane-0八(知>)八(Hw)八add(psoufhva=daCD()八 pub=c void acnonperformed(AcnonEvenf e) 宀if(HH »)宀Siring numberuJnumber"<4.geHexo=h()vo)宀fry宀inoneunew F=e-npufs=
20、ream(fi-e)八 inTwounew objecHnpufs=ream(inone)八 mMaw>"HashfabCDpString warning=" (this,warning,elseString m=" intok=(this,m,"确认 ",;if(ok=String name= String discipling= String grade= String borth= String sex=null;if( sex=else sex=基本信息将被录入 !"姓名 .getText();所学专业 .getText
21、() 家庭住址 .getText(); 出生 .getText();男 .isSelected()男 .getText();女 .getText();(); ();catch(Exception ee)if( 基本信息表 .containsKey(number)该生基本信息已存在 , 请到修改页面修改 !"Ak n .警告 ",;学生 =new Student();学生 .setNumber(number);学生 .setName(name);学生 .setDiscipling(discipling);学生 .setGrade(grade);学生 .setBorth(bor
22、th);学生 .setSex(sex);tryoutOne=new FileOutputStream(file);outTwo=new ObjectOutputStream(outOne);基本信息表 .put(number, 学生 );( 基本信息表 );();();必须要输入学号 !"Ak n .警告 ",;学号 .setText(null); 姓名 .setText(null); 所学专业 .setText(null); 家庭住址 .setText(null); 出生 .setText(null);catch(Exception ee)elseString warni
23、ng="(this,warning," if()= 重置 )学号 .setText(null);姓名 .setText(null); 所学专业 .setText(null); 家庭住址 .setText(null);出生 .setText(null);3. 查询代码* jimport .*;import .*;import .*;public class Inquest extends JDialog implements ActionListener Hashtable 基本信息表 =null;JTextField学号 , 姓名 , 所学专业 , 家庭住址 , 出生 ;J
24、RadioButton 男 , 女 ;JButton 查询 ;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;File file=null;pub=c-nquesf(JFrame fzl-e fi-e)宀 super(f=1<违®=fa-se)八Hfi-p<4"new JTexmie-duo)八 1<违"new JBU=on(=1<违=)八 <4addACHOnusCDneahis)八 1<违.addACHOnLisCD
25、neahis)八 辱役"new JTexmie-duo)八 辱役.sefTidiQrb-e(fa-se)八 淳<4"new JTexmie-duo)八 淳<4.semdifab-eua-se)八 WM审卑 Hi wMit .semdifab-eua-se)八 圧舟"new JTexmie-duo)八 圧并.sefTidiQrb-e(fa-se)八 迪"new J RadioBuffo n(=迪=fa-se= Hunew JRadioBUs:on(=H=fa-se= groupunew BuxonGroupo八 (手Box boxl"
26、)八 (new JLabe-(=(<违)Box box2")八 (new JLabe-(= (辱于Box box3")八 (new JLabe-(= (手(H=Box box4")八 (new JLabe-(= (Kfe-)-Box box5")八 (new JLabe-(= ()-Box box6")八 (new JLabe-(= (圧亦)-Box boxH")八(boxl)八(box2)八鸯 >烟(<违孚<4辱役_-)頁 _-)淳<4巨_-) WM审障_-) 圧寸=)-(box3)八(box4)八(b
27、ox5)八(box6)八(汪Jpane- pcenCDrunew Jpane-0八(boxH)八container conugefconCDnfpaneo 八(pcenCDr()-sef<sib-e(fa-se)八sesoundsu 002000060270)八 addwindowusCDnesew windowAdapCDro 宀 pub=c void windowcosingo/vindowEvenf e) 宀sef<sib-e(fa-se)八pub=c void acnonperformed(AcnonEvenf e)辱役.sefrexsuw 八淳<4.sefrexsM
28、-)八wMit .sefrexsM-)八圧舟.sefrexsuw 八=h(Hu<违 _(llu<4)宀Siring numberuJ number"<4.gefrexo=h()vo)宀fry宀inoneunew F=e-npufs=ream(fi-e)八 inTwounew objecHnpufs=ream(inone)八mMaw>"HashfabCDp()-()-caoh(Excep=*on ee)宀if(mMap®>oonQrinsKey(number)Student stu=(Student) 基本信息表 .get(number
29、); 姓名 .setText();所学专业 .setText();家庭住址 .setText(); 出生 .setText();if().equals("男 ")男.setSelected(true);else女.setSelected(true);else该学号不存在 !"Ak n .警告 ",;必须要输入学号 !"Ak n .警告 ",;String warning=" (this,warning," elseString warning=" (this,warning,"4. 修改代码im
30、port .*; import .*;import .*;import .*;public class ModifySituation extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 学号 ,姓名 ,所学专业 ,家庭住址 ,出生; JRadioButton 男 , 女;ButtonGroup group=null;JButton 开始修改 ,录入修改 , 重置;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputSt
31、ream outOne=null; ObjectOutputStream outTwo=null; File file=null;public ModifySituation(File file) =file;学号 =new JTextField(10); 姓名 =new JTextField(10); 所学专业 =new JTextField(10); 家庭住址 =new JTextField(10);出生 =new JTextField(10);group=new ButtonGroup();男 =new JRadioButton(" 男 ",true); 女 =new
32、 JRadioButton(" 女 ",false);( 男 );( 女 );开始修改 =new JButton(" 开始修改 "); 录入修改 =new JButton(" 录入修改 "); 录入修改 .setEnabled(false);重置 =new JButton(" 重置 ");学号 .addActionListener(this);开始修改 .addActionListener(this); 录入修改 .addActionListener(this);重置 .addActionListener(this
33、);Box box1=(); (new JLabel(" ( 学号 );( 开始修改 );Box box2=(); (new JLabel("( ( 姓名 );Box box3=(); (new JLabel("( ( 男 );( 女 );Box box4=(); (new JLabel("( ( 所学专业 );Box box5=(); (new JLabel("( ( 家庭住址 );Box box6=(); (new JLabel("( ( 出生 );输入要修改信息的学号 :",);新) 姓名 :",);新) 性
34、别 :",);新) 所学专业 :",);新) 家庭住址 :",);新) 出生 :",);Box boxH=();(box1);(box2);(box3);(box4);(box5);(box6);();JPanel pCenter=new JPanel();(boxH);setLayout(new BorderLayout();add(pCenter,;JPanel pSouth=new JPanel();( 录入修改 );( 重置 );add(pSouth,;validate();public void actionPerformed(ActionEv
35、ent e)if()= 开始修改 |()= 学号 )String number=""number=学号 .getText();if()>0)try inOne=new FileInputStream(file);inTwo=new ObjectInputStream(inOne); 基本信息表 =(Hashtable)();();();catch(Exception ee)if( 基本信息表 .containsKey(number)录入修改 .setEnabled(true);Student stu=(Student) 基本信息表 .get(number); 姓名 .
36、setText(); 所学专业 .setText(); 家庭住址 .setText();圧舟.sefrexfox=h().equa_s(= 迪=) 宀迪.sefse-ecCDd(=rue=e-se宀H.sefse-ecCDd(=rue=e-se宀知 >克齊.sefTinab-ed(fa-se)八Siring warning"- 或<4m (fhisywarning=Itnfr=八<4seHexsu=)八辱役.seHexsu=)八淳<4.sefre>$(nu=)八 wMit .sefre>$(nu=)八 圧舟.seHexsu=)八e-se宀知 >
37、;克涔.sefTinab-ed(fa-se)八ss.ng warning"- 兵倉鸯 ><4=八(fhisywarning=1|带=八<4sefrexsu=)八 辱役.sefrexsuw 八淳<4.seHexsu-)八wMpit .seHexsu-)八圧舟.sefrexsu-)八e-se if(HH 知 >w)宀Siring numberuJnumber"<4.geHexo=h(vo)宀fry宀inoneunew Fi-e-npufs=ream(f=e)八 inTwounew objeci-npuis=ream(moner基本信息表 =(
38、Hashtable)();();();catch(Exception ee) if( 基本信息表 .containsKey(number), 您想修改他 ( 她 ) 的基本信息吗 ?"String question=" 该生基本信息已存在(this,question,"警告 ",;String m=" 基本信息将被修改 !" int ok=(this,m," 确认 ",; if(ok=姓名 .getText();所学专业 .getText(); 家庭住址 .getText(); 出生 .getText();Stri
39、ng name=String discipling=String grade= String borth= String sex=null;if( 男 .isSelected()sex= 男 .getText();elsesex= 女 .getText();Student学生 =new Student();学生 .setNumber(number); 学生 .setName(name); 学生 .setDiscipling(discipling); 学生 .setGrade(grade);学生 .setBorth(borth); 学生 .setSex(sex);tryoutOne=new Fi
40、leOutputStream(file);outTwo=new ObjectOutputStream(outOne); 基本信息表 .put(number, 学生 );( 基本信息表 );();();学号 .setText(null);姓名 .setText(null); 所学专业 .setText(null); 家庭住址 .setText(null); 出生 .setText(null);catch(Exception ee)录入修改 .setEnabled(false); else if(ok=录入修改 .setEnabled(true);elseString warning="
41、 该学号没有基本信息 , 不能修改 !"(this,warning,"aP. n .警告 ",;录入修改 .setEnabled(false); elseString warning="(this,warning,"必须要输入学号 !"Ak n .警告 ",;录入修改 .setEnabled(false);if()= 重置 )学号 .setText(null);姓名 .setText(null);所学专业 .setText(null);家庭住址 .setText(null);出生 .setText(null);5. 删除代码
42、import .*; import .*; import .*;import .*;public class Delete extends JPanel implements ActionListener Hashtable 基本信息表 =null;JTextField 学号 , 姓名 , 所学专业 , 家庭住址 , 出生 ; JRadioButton 男 , 女 ;JButton 删除 ;ButtonGroup group=null;FileInputStream inOne=null;ObjectInputStream inTwo=null;FileOutputStream outOne=
43、null;ObjectOutputStream outTwo=null;File file=null;public Delete(File file)=file;学号 =new JTextField(10);删除 =new JButton(" 删除 ");学号 .addActionListener(this);删除 .addActionListener(this);姓名 =new JTextField(10);姓名 .setEditable(false); 所学专业 =new JTextField(10);所学专业 .setEditable(false);家庭住址 =new
44、 JTextField(10);家庭住址 .setEditable(false);出生 =new JTextField(10);出生 .setEditable(false);男 =new JRadioButton(" 男 ",false);女 =new JRadioButton(" 女 ",false);group=new ButtonGroup();( 男 );( 女 );Box box1=();(new JLabel(" 输入要删除的学号 :",);( 学号 );( 删除 );Box box2=();(new JLabel(&qu
45、ot; 姓名 :",);( 姓名 );Box box3=();(new JLabel(" 性别 :",);( 男 );( 女 );Box box4")八(new JLabe-(=<4w_-)(Kfe-)-Box box5")八(new JLabe-(=wMit_-)(WM审卑)-Box box6")八(new JLabe-(= 圧卄_-)八(圧舟)-Box boxH")八(boxD(box2=(box3)八(box4)八(box5)八(box6)八()-Jpane- pcenCDrunew Jpane-0八(boxH)八se 产 ayousew BorderLayouo)八add(pcenCDTva=daCD()八pub=c void acnonperformed(AcnonEvenf e)宀=h(Hu IB_(IIU<4)宀Siring nu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赣南医学院《视唱与声乐(一)》2023-2024学年第一学期期末试卷
- 赣南卫生健康职业学院《环境工程经济管理与伦理》2023-2024学年第一学期期末试卷
- 甘肃中医药大学《蒙台梭利教学法》2023-2024学年第一学期期末试卷
- 《心脏疾病用药》课件
- 小学生作文起步讲解课件
- 三年级数学上册第八单元分数的初步认识第2课时几分之几教案新人教版
- 2022年C基础知识速记速练考试题库(核心500题)
- 小学生校园安全知识培训制度
- 聆听培训课件
- 《柱状晶等等》课件
- IEC60068系列标准清单
- 广东省广州市2023-2024学年七年级上学期期末考试数学试题(含答案)
- 廉政法规知识测试及答案
- 形式与政策学习通超星期末考试答案章节答案2024年
- 期末考试-2024-2025学年语文四年级上册统编版
- “数字城市”公共智慧底座项目解决方案
- 经销商交接三方协议书范本
- 浙江省宁波市慈溪市2022-2023学年上学期八年级科学期末试卷
- 医院药品质量管理
- JGJ 305-2013 建筑施工升降设备设施检验标准
- 桥区岩土工程勘察报告
评论
0/150
提交评论