版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录TOC\o"1-2"\h\z\u一.需求分析1〔1〕概述1〔2〕课题分析1〔3〕实现功能步骤2〔4〕承当模块工作详解2〔5〕外部界面需求2〔6〕运行环境2二.概要设计3〔1〕系统流程图3〔2〕功能模块图4〔3〕新建档案模块4〔4〕查询模块4〔5〕修改模板5〔6〕删除模块5三.详细设计6〔1〕界面类MyPanel.java6HYPERLINK\l"_〔3〕顺序单向栈的入栈和出栈申明〔即zhan.h文件〕"〔2〕获取界面信息类Massage.java12〔3〕文件操作类Myfile.java13〔4〕查找类Serch.java14〔5〕主界面类Main_face.java18HYPERLINK\l"_(6)系统界面"〔6〕系统界面21四.调试分析26〔1〕调试过程中所遇到的问题及解决方法26〔2〕经验与体会26五.用户使用说明27六.测试结果27七.参考文献27八.附录27一.需求分析〔1〕概述Java是目前使用最为广泛的编程语言之一,它具有简单、面向对象、与平台无关、解释型、多线程、平安、动态等特点;J2SE称为Java标准版或者java标准平台利用该平台可以开发java左面应用程序和低端的效劳器应用程序,也可以开发JavaApplet。〔2〕课题分析从这个题目来分析,要做的主要有四大功能。第一就是要新建档案功能:档案内容包括有姓名,性别,出生年月等信息,并且有保存按钮,单击按钮就能实现保存,并弹出保存成功的提示框。第二点是查询功能:可以有三种查找方式,分别是按名字,省份证号,档案编号查找。用户只需输入上述一项档案属性即可以按查询按钮进行查询,随后系统进入到另一个信息显示界面,该界面显示查询到的信息,并且有返回按钮能返回到上一个界面。第三点是修改功能:此功能是建立在查询功能根底上的,要先查询到,然后在信息显示界面进行修改,并按保存按钮进行保存修改。此外该功能要到达两个效果,一个是修改档案的全部内容,另一个就是修改其中的某一项,例如状态栏的内容,当修改状态栏的时候,其他属性如姓名,性别等是无法改变的。第四是删除功能:此功能同样是建立在查询功能根底上的,要先查询到,然后单机删除按钮进行删除操作〔3〕实现功能步骤功能的实现步骤主要是:新建档案功能:单击文件菜单栏选中新建档案即可,在界面中填写信息,并按保存按钮即可。查询功能:单击查询菜单栏,在界面中输入姓名,身份证号,档案编号中的一项单击查询按钮即可完成查询。修改功能:单击修改修改菜单栏,选中修改档案和修改状态中的一项,然后在在界面中输入姓名,身份证号,档案编号中的一项修改按钮,并在新界面输入相应的更改信息,随后按保存按钮即可完成修改。删除功能:单击删除菜单栏选中删除档案,在界面中输入档案编号后单击删除按钮即可完成档案的删除操作。〔4〕承当模块工作详解通过这个分析,我主要做的就是多个界面以及各个见面之间的来回切换;还有就是实现对文件的操作〔增删改查〕,这里的采用文本文档的存储方式,以简历的编号为文本的名称,再从新建界面上获取输入的信息并逐行存储到文本中;查询时这逐行读取对应文本中的信息,并将信息放到相应的文本框中,修改那么是利用查询功能先找到文档后修改相应的属性内容;删除那么是用户输入一个档案编号,系统将名为这个编号的档案删除即可;〔5〕外部界面需求本次程序需要建立新建档案、删除、查询、修改等面板,还需要保存,删除、修改等操作成功是的提示对话框。〔6〕运行环境系统软件:Window2000以上系统所需文件:Call.java〔主类代码〕,Massage.java,MyPanel.java,Myfile.java,Serch.javaMain_panel.java语言选择:java工具软件:MyEclipse二.概要设计开始〔1〕系统流程图开始菜单栏选择新建档案菜单栏选择新建档案输入信息到界面输入信息到界面单击保存按钮单击保存按钮在菜单栏中选择功能在菜单栏中选择功能查询档案修改输入对应的档案信输入对应的档案信删除输入对应的档案信息输入对应的档案信息单击查询按钮输入档案编号单击查询按钮输入档案编号单击修改按钮单击修改按钮是否单击返回按钮单击删除按钮是否单击返回按钮单击删除按钮是否单击返回按钮是是否单击返回按钮结束结束图2.1系统流程图大学生档案管理系统〔2〕功能模块图大学生档案管理系统删除档案修改档案查找档案新建档案删除档案修改档案查找档案新建档案图2.2功能模块图〔3〕新建档案模块在这个模块中主要实现的功能是建立一份档案所需的界面,并将用户输入到界面上的信息保存在文本文档中。在保存时,要先提取档案的编号作为文本的名称,这样做有利于后续的查找。因为档案的说有属性中编号是唯一的,不会发生冲突;获取到档案的每项属性是先放进一个字符串数组中,然后将这个字符串的每个元素分别输入当文本中,且各占一行。〔4〕查询模块在这一模块中主要实现的功能是对已有档案的查询功能。有三种查询方式,分别是按名字、身份证号、档案编号进行查找。其中按编号查找是只需要直接把名和编号相同的文档翻开并逐行读取后放入一个字符串数组中,然后将该数组中的每个元素显示在相应的界面上即可;按身份证号和编号查找是那么需要先遍历文档,找到也输入的名字或身份证号也文本中的数据相同的文本,之后逐行读取后放入一个字符串数组中,然后将该数组中的每个元素显示在相应的界面上即可〔5〕修改模板这一模块主要实现的功能是对以后文档内容的修改。这一功能是建立在查询的根底之上,也就是说要先利用上述功能找到要修改的文档,在去修改文档中的内容,之后将修改后的档案保存;〔6〕删除模块这一模块主要实现的功能是删除系统中的某一份档案。这一功能的实现同样是建立在查询的根底之上,也就是说要先利用上述功能找到要修改的文档,获取文档名称再进行删除;三.详细设计〔1〕界面类MyPanel.java该类主要是负责实现该系统除刚进入系统时的界面外的所有界面;它是继承Panel的子类,因此它的对象可以给看作是容器添加在Frame中;它有newface,serchface,serchshowface,deleteface,changeface六个方法,分别是用来建立新建文档界面,查找询问界面,查找结果显示界面,删除档案界面,修改档案界面;新建档案方法newface〔〕:setLayout(null);//设置成空布局name1=newLabel("姓名:");name1.setBounds(10,30,40,20); add(name1);name2=newTextField();name2.setBounds(50,30,100,20); add(name2);sex1=newLabel("性别:");sex1.setBounds(250,30,40,20); add(sex1);sex2=newTextField();sex2.setBounds(290,30,100,20); add(sex2);birth1=newLabel("出生年月:");birth1.setBounds(10,60,60,20); add(birth1);birth2=newTextField();birth2.setBounds(70,60,100,20); add(birth2);number1=newLabel("身份证号:");number1.setBounds(250,60,60,20); add(number1);number2=newTextField();number2.setBounds(310,60,100,20); add(number2);school1=newLabel("学院:");school1.setBounds(10,90,40,20); add(school1);school2=newTextField();school2.setBounds(50,90,100,20); add(school2);subject1=newLabel("专业:");subject1.setBounds(250,90,40,20); add(subject1);subject2=newTextField();subject2.setBounds(290,90,100,20); add(subject2);indata1=newLabel("入学年月:");indata1.setBounds(10,120,60,20); add(indata1);indata2=newTextField();indata2.setBounds(70,120,100,20); add(indata2);snumber1=newLabel("学号:");snumber1.setBounds(250,120,40,20); add(snumber1);snumber2=newTextField();snumber2.setBounds(290,120,100,20); add(snumber2);reward1=newLabel("在校期间所获奖励:");reward1.setBounds(10,150,150,20); add(reward1);reward2=newTextArea();reward2.setBounds(10,180,600,300); add(reward2);zhuangtai1=newLabel("状态:");zhuangtai1.setBounds(10,500,60,20); add(zhuangtai1);zhuangtai2=newTextField();zhuangtai2.setBounds(70,500,80,20); add(zhuangtai2);bianhao1=newLabel("档案编号");bianhao1.setBounds(200,500,60,20); add(bianhao1);bianhao2=newTextField();bianhao2.setBounds(260,500,80,20); add(bianhao2);save=newButton("保存");save.addActionListener(this);save.setBackground(Color.RED);save.setBounds(550,500,50,50); add(save); setVisible(true);查找询问界面方法serchface〔〕:publicvoidserchface(){setLayout(null);card=newCardLayout();//将面板设置成CardLayout布局mainpanel1=newPanel();mainpanel2=newPanel();serchpanel=newPanel();serchpanel.setBounds(0,0,600,400);mainpanel1.setBounds(0,0,600,400);mainpanel2.setBounds(0,0,400,400);serchpanel.setLayout(card);serchpanel.add("查询询问",mainpanel1);//将两个面板添加到CardLayoutserchpanel.add("查询结果",mainpanel2);//中实现两个面板间来回切换add(serchpanel);mainpanel1.setLayout(null);name3=newLabel("姓名:");name3.setBounds(200,100,40,20);mainpanel1.add(name3);name4=newTextField();name4.setBounds(240,100,100,20);mainpanel1.add(name4);bianhao3=newLabel("档案编号:");bianhao3.setBounds(200,200,60,20);mainpanel1.add(bianhao3);bianhao4=newTextField();bianhao4.setBounds(260,200,100,20);mainpanel1.add(bianhao4);serch=newButton("查找");serch.setBounds(500,230,60,60);serch.setBackground(Color.blue);serch.addActionListener(this);mainpanel1.add(serch);back=newButton("返回");back.addActionListener(this);back.setBounds(330,350,30,30);mainpanel2.add(back);serchshowface();//查询到档案后的信息显示界面setVisible(true); }查询到档案后的信息显示界面方法serchshowface〔〕:publicvoidserchshowface(){mainpanel2.setLayout(null);name1=newLabel("姓名:");name1.setBounds(10,30,40,20);mainpanel2.add(name1);name2=newTextField();name2.setBounds(50,30,100,20);mainpanel2.add(name2);sex1=newLabel("性别:");sex1.setBounds(250,30,40,20);mainpanel2.add(sex1);sex2=newTextField();sex2.setBounds(290,30,100,20);mainpanel2.add(sex2);birth1=newLabel("出生年月:");birth1.setBounds(10,60,60,20);mainpanel2.add(birth1);birth2=newTextField();birth2.setBounds(70,60,100,20);mainpanel2.add(birth2);number1=newLabel("身份证号:");number1.setBounds(250,60,60,20);mainpanel2.add(number1);number2=newTextField();mainpanel2.add(number2);school1=newLabel("学院:");school1.setBounds(10,90,40,20);mainpanel2.add(school1);school2=newTextField();school2.setBounds(50,90,100,20);mainpanel2.add(school2);subject1=newLabel("专业:");subject1.setBounds(250,90,40,20);mainpanel2.add(subject1);subject2=newTextField();subject2.setBounds(290,90,100,20);mainpanel2.add(subject2);indata1=newLabel("入学年月:");indata1.setBounds(10,120,60,20);mainpanel2.add(indata1);indata2=newTextField();indata2.setBounds(70,120,100,20);mainpanel2.add(indata2);snumber1=newLabel("学号:");snumber1.setBounds(250,120,40,20);mainpanel2.add(snumber1);snumber2=newTextField();snumber2.setBounds(290,120,100,20);mainpanel2.add(snumber2);reward1=newLabel("在校期间所获奖励:");reward1.setBounds(10,150,150,20);mainpanel2.add(reward1);reward2=newTextArea();reward2.setBounds(10,180,500,150);mainpanel2.add(reward2);zhuangtai1=newLabel("状态:");zhuangtai1.setBounds(10,350,60,20);mainpanel2.add(zhuangtai1);zhuangtai2=newTextField();zhuangtai2.setBounds(70,350,80,20);mainpanel2.add(zhuangtai2);bianhao1=newLabel("档案编号");bianhao1.setBounds(200,350,60,20);mainpanel2.add(bianhao1);bianhao2=newTextField();bianhao2.setBounds(260,350,60,20);mainpanel2.add(bianhao2);setVisible(true); }修改档案界面方法changeface():publicvoidchangface(){serchface();//使用查询是的界面serch.setName("开始修改");//将查询按钮改成修改按钮save=newButton("保存");save.setBounds(400,350,30,30);mainpanel2.add(save);//在信息显示界面添加保存按钮save.addActionListener(this);//添加监听器}删除档案界面方法deleteface():publicvoiddeleteface(){ setLayout(null);bianhao1=newLabel("档案编号");//档案编号作为删除档案时的查询条件bianhao1.setBounds(200,200,60,20); add(bianhao1);bianhao2=newTextField();bianhao2.setBounds(260,200,80,20); add(bianhao2);delete=newButton("删除");delete.addActionListener(this);//给按钮添加监听器delete.setBackground(Color.RED);delete.setBounds(250,250,50,50); add(delete);//添加删除按钮 }按钮的事件的实现:publicvoidactionPerformed(ActionEvente){if(e.getSource()==serch){//查找按钮,打击后开始查找 Stringtemp[]={"","","","","","","","","","","","",""};name=name4.getText();//获取查询询问界面上的信息bianhao=bianhao4.getText();//获取档案编号Serchexample=newSerch();//实例化查询类if(bianhao.length()!=0){//如果用户输入了编号 temp=example.serchBianhao(bianhao)//进行按编号查找 }elseif(name.length()!=0){//如果用户输入了名字 temp=example.serchName(name);//进行按名字查找 }if(temp!=null){//如果查询到的结果不是空的那么将结果显示到界面上card.show(serchpanel,"查询结果");name2.setText(temp[0]);sex2.setText(temp[1]);birth2.setText(temp[2]);number2.setText(temp[3]);school2.setText(temp[4]);subject2.setText(temp[5]);indata2.setText(temp[6]);snumber2.setText(temp[7]);reward2.setText(temp[8]);zhuangtai2.setText(temp[9]);bianhao2.setText(temp[10]); } }elseif(e.getSource()==back){//返回按钮事件的实现bianhao4.setText("");name2.setText("");number2.setText("");card.show(serchpanel,"查询询问");//单击后返回查询询问界面 }elseif(e.getSource()==save){//保存按钮事件的实现 MyFileexample=newMyFile();//实例化一个文件操作类的对象Massagemassage=newMassage(this);example.save(massage);//调用该文件操作类对象的保存文件方法JOptionPane.showMessageDialog(this,"保存成功","",JOptionPane.WARNING_MESSAGE); }elseif(e.getSource()==delete){ MyFilede=newMyFile();//实例化一个文件操作类的对象 de.delete(bianhao2.getText());//调用该文件操作类对象的删除文件方法 } }(2)获取界面信息类Massage.java这个类主要是获取用户输入到界面上的信息,有两个方法,一个是构造方法Massage(),另一个是获取信息方法getmassage();Massage(MyPanelA){//将界面类的对象作为参数name=A.name2.getText();sex=A.sex2.getText();birth=A.birth2.getText();school=A.school2.getText();indata=A.indata2.getText();subject=A.subject2.getText();number=A.number2.getText();snumber=A.snumber2.getText();reward=A.reward2.getText();zhuangtai=A.zhuangtai2.getText();bianhao=A.bianhao2.getText(); }publicString[]getMassage(){//将获取到的信息存入到一个字符串数组中,并将其返回 Stringtemp[]={"","","","","","","","","","","","","",""}; temp[0]=name; temp[1]=sex; temp[2]=birth; temp[3]=number; temp[4]=school; temp[5]=subject; temp[6]=indata; temp[7]=snumber; temp[8]=reward; temp[9]=zhuangtai; temp[10]=bianhao;returntemp;//将结果返回 }〔3〕文件操作类Myfile.java 该类主要是实现对文件的操作,有保存save(),delete()两个方法publicvoidsave(Massagemassage){//将获取信息类的对象作为参数 Stringbianhao=massage.bianhao;//从而实现将对象的属性保存到文本中 FileWriteroutone; BufferedWriterouttwo;try{ Stringtemp[]={"","","","","","","","","","","","",""}; temp=massage.getMassage();intn=Integer.parseInt(bianhao); outone=newFileWriter(n+".txt");//将档案编号作为文本的名字 outtwo=newBufferedWriter(outone);for(intk=0;k<temp.length;k++) { outtwo.write(temp[k]);//将信息逐行写入到文本中 outtwo.newLine(); } outtwo.close(); outone.close(); }catch(Exceptione1){ e1.printStackTrace(); } }publicvoiddelete(Strings){//将档案的编号作为参数intk=Integer.parseInt(s); Filef=newFile(k+".txt");booleana=f.delete();if(a==true){ JOptionPane.showMessageDialog(null,"删除成功","",JOptionPane.WARNING_MESSAGE); } }〔4〕查找类Serch.java 该类主要是实现对档案的查找,有按名字,身份证号,档案编号三种查询方式,因此该类有三个方法:publicString[]serchName(Stringname){//按名字查找intk=0,i=0; StringS=null; Stringtemp[]={"","","","","","","","","","","","","","",""};try{for(;k<10000;){ Filef=newFile(k+".txt");if(f.exists()){ FileReaderinone=newFileReader(f); BufferedReaderintwo=newBufferedReader(inone);if(intwo.readLine().equals(name)==false){ k++; }else{ BufferedReaderinthree=newBufferedReader(inone); i=0;while(i<11){ temp[i]=inthree.readLine(); i++; }returntemp; } intwo.close(); inone.close(); }else{ k++; } }if(k>=10000){ JOptionPane.showMessageDialog(null,"没有找到档案,请重新输入","",JOptionPane.INFORMATION_MESSAGE); temp=null; } }catch(Exceptione){ e.printStackTrace(); }returntemp; }publicString[]serchNumber(Stringnumber){//按身份证号查找 intk=0,i=0; Stringtemp[]={"","","","","","","","","","","","",""}; try{ for(;k<10000;k++){ FileReaderinone=newFileReader(k+".txt"); BufferedReaderintwo=newBufferedReader(inone); for(;i<3;i++){ intwo.readLine(); } if(intwo.readLine()!=number){ k++; } else{ BufferedReaderinthree=newBufferedReader(inone); i=0; while(i<9){ temp[i]=inthree.readLine(); i++; } returntemp; } } if(k>=10000){ JOptionPane.showInputDialog(this,"没有找到档案,请重新输入"); temp=null; } }catch(Exceptione){ e.printStackTrace(); } returntemp; }publicString[]serchBianhao(Stringbianhao){//按编号查找intk=0; Stringtemp[]={"","","","","","","","","","","","","","",""};try{ k=Integer.parseInt(bianhao); Filef=newFile(k+".txt");if(f.exists()==true){ FileReaderinone=newFileReader(f); BufferedReaderintwo=newBufferedReader(inone);for(k=0;k<11;k++){ temp[k]=intwo.readLine(); } intwo.close();inone.close(); }else{ JOptionPane.showMessageDialog(null,"没有找到档案请重新输入","",JOptionPane.WARNING_MESSAGE); temp=null; } }catch(Exceptione){ e.printStackTrace(); }returntemp; }}〔5〕主界面类Main_face 继承了Frame,实现系统的主界面,采用CardLayout布局,实现多个面板之间的切换,而新建档案,修改,删除等界面都是一个个面板Main_Face(){mycard=newCardLayout(); setLayout(mycard);mainframe=newPanel();menubar=newMenuBar();file=newMenu("文件");serch=newMenu("查找");serch.addActionListener(this);exit=newMenuItem("退出");exit.addActionListener(this);new_file=newMenuItem("新建档案");new_file.addActionListener(this);serchname=newMenuItem("查找档案");serchname.addActionListener(this);serch.add(serchname);file.add(new_file);zhuye=newMenuItem("主菜单");zhuye.addActionListener(this);delete=newMenuItem("删除档案");delete.addActionListener(this);file.add(zhuye);file.add(delete);file.add(exit);menubar.add(file);menubar.add(serch);change1=newMenu("修改");change2=newMenuItem("修改档案");zhuangtai=newMenuItem("修改状态");change1.add(change2);change1.add(zhuangtai);change2.addActionListener(this);zhuangtai.addActionListener(this);menubar.add(change1); setMenuBar(menubar);welcome=newLabel("欢送进入大学生档案管理系统。。。。。。");welcome.setBounds(10,20,90,20);mainframe.add(welcome);mainframe.setBounds(100,150,300,300); add("主菜单",mainframe);creatfile=newMyPanel();creatfile.newface();creatfile.setBounds(0,0,700,600); add("新建档案",creatfile);serch1=newMyPanel();serch1.setBounds(0,0,400,400);serch1.serchface(); add("查找",serch1);changeFace=newMyPanel();changeFace.changface();changeFace.setBounds(0,0,700,610); add("修改",changeFace); setBounds(200,200,700,610);deletefile=newMyPanel();deletefile.deleteface();deletefile.setBounds(0,0,700,610); add("删除",deletefile); setVisible(true); }publicvoidactionPerformed(ActionEvente){if(e.getSource()==exit){ System.exit(0); }elseif(e.getSource()==new_file){mycard.show(this,"新建档案"); }elseif(e.getSource()==serchname){mycard.show(this,"查找"); }elseif(e.getSource()==zhuye){mycard.show(this,"主菜单"); }elseif(e.getSource()==change2){changeFace.serch.setLabel("修改");mycard.show(this,"修改"); }elseif(e.getSource()==zhuangtai){changeFace.serch.setLabel("修改状态");mycard.show(this,"修改"); }elseif(e.getSource()==delete){mycard.show(this,"删除"); } }〔6〕系统界面图3.1初始界面图3.2新建文档图3.3查询询问界面图3.4查询结果显示界面 图3.5修改询问界面图3.6修改界面图3.7删除档案界面四.调试分析〔1〕调试过程中所遇到的问题及解决方法1〕在写查找功能时无法读取到界面上输入的档案编号,通过在获取编号去设置断点,在单步调试,查看变量值的变化,发现是变量名称有误2〕写删除功能时,文件无法删除,无法删除,发现是没有建档案的编号进行强制转换成整形,在翻开文档3〕在查询时,会抛出异常,比方说当查找一个系统没有的文本是就会抛出异常,后单步调试发现在查找钱没有判断这个文本是否存在〔2〕经验与体会两周的时间做出这样一个系统尽管不是很完善,但是这两周把java课程复习了一边,也加深了对面向对象的理解。在开发方面认识倒了类设计的重要性,一个好的类结构能够带来高效的工作,以及稳定的系统。在这两周里了解整个开发流程,收益颇多。对MyEclipse的使用也更娴熟了。五.用户使用说明〔1〕这次运行程序的环境是Myeclipse,执行的主文件是call.java,〔2〕整个程序只有一个框架,中选择不同的功能是框架中会出现不同界面。〔3〕用户点击菜单项中的菜单在根据界面填入相应的信息即可实现不同的功能六.测试结果运行程序。然后弹出一个窗口如上面的图3.1。运行流程及结果如图3.2,3.3,3.4,3.5,3.6,3.7。七.参考文献1.耿祥义、张跃平.《java使用教程》.清华大学出版社.2023年版4.严蔚敏.《数据结构》.清华大学出版社.1997年版八.附录主类Call.javapackageCall;publicclassCall{ publicstaticvoidmain(Stringargs[]){ Main_Faceface=newMain_Face(); face.setTitle("大学生档案管理系统"); }}主界面类:Main_face:packageCall;importjava.awt.*;importjava.awt.event.*;publicclassMain_FaceextendsFrameimplementsActionListener{ MenuBarmenubar; Menufile,serch,change1; MenuItemexit,new_file,serchname,zhuye,change2,delete,zhuangtai; MyPanelcreatfile,serch1,changeFace,deletefile; Labelwelcome; Panelmainframe; CardLayoutmycard; Main_Face(){ mycard=newCardLayout(); setLayout(mycard); mainframe=newPanel(); menubar=newMenuBar(); file=newMenu("文件"); serch=newMenu("查找"); serch.addActionListener(this); exit=newMenuItem("退出"); exit.addActionListener(this); new_file=newMenuItem("新建档案"); new_file.addActionListener(this); serchname=newMenuItem("查找档案"); serchname.addActionListener(this); serch.add(serchname); file.add(new_file); zhuye=newMenuItem("主菜单"); zhuye.addActionListener(this); delete=newMenuItem("删除档案"); delete.addActionListener(this); file.add(zhuye); file.add(delete); file.add(exit); menubar.add(file); menubar.add(serch); change1=newMenu("修改"); change2=newMenuItem("修改档案"); zhuangtai=newMenuItem("修改状态"); change1.add(change2); change1.add(zhuangtai); change2.addActionListener(this); zhuangtai.addActionListener(this); menubar.add(change1); setMenuBar(menubar); welcome=newLabel("欢送进入大学生档案管理系统。。。。。。"); welcome.setBounds(10,20,90,20); mainframe.add(welcome); mainframe.setBounds(100,150,300,300); add("主菜单",mainframe); creatfile=newMyPanel(); creatfile.newface(); creatfile.setBounds(0,0,700,600); add("新建档案",creatfile); serch1=newMyPanel(); serch1.setBounds(0,0,400,400); serch1.serchface(); add("查找",serch1); changeFace=newMyPanel(); changeFace.changface(); changeFace.setBounds(0,0,700,610); add("修改",changeFace); setBounds(200,200,700,610); deletefile=newMyPanel(); deletefile.deleteface(); deletefile.setBounds(0,0,700,610); add("删除",deletefile); setVisible(true); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==exit){ System.exit(0); } elseif(e.getSource()==new_file){ mycard.show(this,"新建档案"); } elseif(e.getSource()==serchname){ mycard.show(this,"查找"); } elseif(e.getSource()==zhuye){ mycard.show(this,"主菜单"); } elseif(e.getSource()==change2){ changeFace.serch.setLabel("修改"); mycard.show(this,"修改"); changeF2.setEditable(true); changeFace.sex2.setEditable(true); changeFace.birth2.setEditable(true); changeFace.number2.setEditable(true); changeFace.school2.setEditable(true); changeFace.subject2.setEditable(true); changeFace.indata2.setEditable(true); changeFace.snumber2.setEditable(true); changeFace.reward2.setEditable(true); changeFace.bianhao2.setEditable(true); } elseif(e.getSource()==zhuangtai){ changeFace.serch.setLabel("修改状态"); mycard.show(this,"修改"); changeF2.setEditable(false); changeFace.sex2.setEditable(false); changeFace.birth2.setEditable(false); changeFace.number2.setEditable(false); changeFace.school2.setEditable(false); changeFace.subject2.setEditable(false); changeFace.indata2.setEditable(false); changeFace.snumber2.setEditable(false); changeFace.reward2.setEditable(false); changeFace.bianhao2.setEditable(false); } elseif(e.getSource()==delete){ mycard.show(this,"删除"); } } }界面类:MyPanle.java:packageCall;importjava.awt.*;importjava.awt.event.*;importjavax.swing.JOptionPane;publicclassMyPanelextendsPanelimplementsActionListener{ Labelname1,name3,sex1,birth1,school1,indata1,subject1,number1,number3,snumber1,reward1,bianhao1,bianhao3,zhuangtai1;//姓名,性别,出生年月,学院,入学年月,专业,身份证号,学号,所获奖励TextFieldname2,name4,sex2,birth2,school2,indata2,subject2,number2,number4,snumber2,bianhao2,bianhao4,zhuangtai2; TextAreareward2; Buttonsave; Stringname,sex,birth,school,indata,subject,number,snumber,reward,bianhao; Panelmainpanel1,mainpanel2,serchpanel; Buttonserch,back,delete; CardLayoutcard,changecard; MyPanel(){} publicvoidnewface(){ setLayout(null); name1=newLabel("姓名:"); name1.setBounds(10,30,40,20); add(name1); name2=newTextField(); name2.setBounds(50,30,100,20); add(name2); sex1=newLabel("性别:"); sex1.setBounds(250,30,40,20); add(sex1); sex2=newTextField(); sex2.setBounds(290,30,100,20); add(sex2); birth1=newLabel("出生年月:"); birth1.setBounds(10,60,60,20); add(birth1); birth2=newTextField(); birth2.setBounds(70,60,100,20); add(birth2); number1=newLabel("身份证号:"); number1.setBounds(250,60,60,20); add(number1); number2=newTextField(); number2.setBounds(310,60,100,20); add(number2); school1=newLabel("学院:"); school1.setBounds(10,90,40,20); add(school1); school2=newTextField(); school2.setBounds(50,90,100,20); add(school2); subject1=newLabel("专业:"); subject1.setBounds(250,90,40,20); add(subject1); subject2=newTextField(); subject2.setBounds(290,90,100,20); add(subject2); indata1=newLabel("入学年月:"); indata1.setBounds(10,120,60,20); add(indata1); indata2=newTextField(); indata2.setBounds(70,120,100,20); add(indata2); snumber1=newLabel("学号:"); snumber1.setBounds(250,120,40,20); add(snumber1); snumber2=newTextField(); snumber2.setBounds(290,120,100,20); add(snumber2); reward1=newLabel("在校期间所获奖励:"); reward1.setBounds(10,150,150,20); add(reward1); reward2=newTextArea(); reward2.setBounds(10,180,600,300); add(reward2); zhuangtai1=newLabel("状态:"); zhuangtai1.setBounds(10,500,60,20); add(zhuangtai1); zhuangtai2=newTextField(); zhuangtai2.setBounds(70,500,80,20); add(zhuangtai2); bianhao1=newLabel("档案编号"); bianhao1.setBounds(200,500,60,20); add(bianhao1); bianhao2=newTextField(); bianhao2.setBounds(260,500,80,20); add(bianhao2); save=newButton("保存"); save.addActionListener(this); save.setBackground(Color.RED); save.setBounds(550,500,50,50); add(save); setVisible(true); } publicvoidserchface(){ setLayout(null); card=newCardLayout(); mainpanel1=newPanel(); mainpanel2=newPanel(); serchpanel=newPanel(); serchpanel.setBounds(0,0,600,400); mainpanel1.setBounds(0,0,600,400); mainpanel2.setBounds(0,0,400,400); serchpanel.setLayout(card); serchpanel.add("查询询问",mainpanel1); serchpanel.add("查询结果",mainpanel2); add(serchpanel); mainpanel1.setLayout(null); name3=newLabel("姓名:"); name3.setBounds(200,100,40,20); mainpanel1.add(name3); name4=newTextField(); name4.setBounds(240,100,100,20); mainpanel1.add(name4); bianhao3=newLabel("档案编号:"); bianhao3.setBounds(200,200,60,20); mainpanel1.add(bianhao3); bianhao4=newTextField(); bianhao4.setBounds(260,200,100,20); mainpanel1.add(bianhao4); serch=newButton("查找"); serch.setBounds(500,230,60,60); serch.setBackground(Color.blue); serch.addActionListener(this); mainpanel1.add(serch); back=newButton("返回"); back.addActionListener(this); back.setBounds(330,350,30,30); mainpanel2.add(back); serchshowface(); setVisible(true); } publicvoidserchshowface(){ mainpanel2.setLayout(null); name1=newLabel("姓名:"); name1.setBounds(10,30,40,20); mainpanel2.add(name1); name2=newTextField(); name2.setBounds(50,30,100,20); mainpanel2.add(name2); sex1=newLabel("性别:"); sex1.setBounds(250,30,40,20); mainpanel2.add(sex1); sex2=newTextField(); sex2.setBounds(290,30,100,20); mainpanel2.add(sex2); birth1=newLabel("出生年月:"); birth1.setBounds(10,60,60,20); mainpanel2.add(birth1); birth2=newTextField(); birth2.setBounds(70,60,100,20); mainpanel2.add(birth2); number1=newLabel("身份证号:"); number1.setBounds(250,60,60,20); mainpanel2.add(number1); number2=newTextField(); number2.setBounds(310,60,100,20); mainpanel2.add(number2); school1=newLabel("学院:"); school1.setBounds(10,90,40,20); mainpanel2.add(school1); school2=newTextField(); school2.setBounds(50,90,100,20); mainpanel2.add(school2); subject1=newLabel("专业:"); subject1.setBounds(250,90,40,20); mainpanel2.add(subject1); subject2=newTextField(); subject2.setBounds(290,90,100,20); mainpanel2.add(subject2); indata1=newLabel("入学年月:"); indata1.setBounds(10,120,60,20); mainpanel2.add(indata1); indata2=newTextField(); indata2.setBounds(70,120,100,20); mainpanel2.add(indata2); snumber1=newLabel("学号:"); snumber1.setBounds(250,120,40,20); mainpanel2.add(snumber1); snumber2=newTextField(); snumber2.setBounds(290,120,100,20); mainpanel2.add(snumber2); reward1=newLabel("在校期间所获奖励:"); reward1.setBounds(10,150,150,20); mainpanel2.add(reward1); reward2=newTextArea(); reward2.setBounds(10,180,500,150); mainpanel2.add(reward2); zhuangtai1=newLabel("状态:"); zhuangtai1.setBounds(10,350,60,20); mainpanel2.add(zhuangtai1); zhuangtai2=newTextField(); zhuangtai2.setBounds(70,350,80,20); mainpanel2.add(zhuangtai2); bianhao1=newLabel("档案编号"); bianhao1.setBounds(200,350,60,20); mainpanel2.add(bianhao1); bianhao2=newTextField(); bianhao2.setBounds(260,350,60,20); mainpanel2.add(bianhao2); setVisible(true); } publicvoidchangface(){ serchface(); serch.setName("开始修改"); save=newButton("保存"); save.setBounds(400,350,30,30); mainpanel2.add(save); save.addActionListener(this); } publicvoiddeleteface(){ setLayout(null); bianhao1=newLabel("档案编号"); bianhao1.setBounds(200,200,60,20); add(bianhao1); bianhao2=newTextField(); bianhao2.setBounds(260,200,80,20); add(bianhao2); delete=newButton("删除"); delete.addActionListener(this); delete.setBackground(Color.RED); delete.setBounds(250,250,50,50); add(delete); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==serch){ Stringtemp[]={"","","","","","","","","","","","",""}; name=name4.getText(); bianhao=bianhao4.getText(); Serchexample=newSerch(); if(bianhao.length()!=0){ temp=example.serchBianhao(bianhao); } elseif(name.length()!=0){ temp=example.serchName(name); } if(temp!=null){ card.show(serchpanel,"查询结果"); name2.setText(temp[0]); sex2.setText(temp[1]); birth2.setText(temp[2]); number2.setText(temp[3]); school2.setText(temp[4]); subject2.setText(temp[5]); indata2.setText(temp[6]); snumber2.setText(temp[7]); reward2.setText(temp[8]); zhuangtai2.setText(temp[9]); bianhao2.setText(temp[10]); } } elseif(e.getSource()==back){ bianhao4.setText(""); name2.setText(""); number2.setText(""); card.show(serchpanel,"查询询问"); } elseif(e.getSource()==save){MyFileexample=newMyFile();Massagemassage=newMassage(this);example.save(massage);JOptionPane.showMessageDialog(this,"保存成功","",JOptionPane.WARNING_MESSAGE); } elseif(e.getSource()==delete){ MyFilede=newMyFile(); de.delete(bianhao2.getText
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 真菌性鼻窦炎-常见病种与特殊病例
- 化疗相关性腹泻的文献阅读
- 心胸外科常见引流管护理
- 出境担保书写作技巧
- 保证书写作技巧与范文
- 四年级奥数大数探秘之路
- 外研版初中英语七年级下册课件
- 历史的选择了拒绝虚无
- 六年级上册外研教学实验分享会
- 妊娠期乳房护理
- 人教版小学语文一年级单元测试题-全册
- 2024-2030年中国PQQ行业市场发展分析及前景趋势与投资研究报告
- 2024年新青岛版四年级上册科学全册知识点六三制
- 注册消防工程师案例分析真题(完整)
- 实验室经费管理制度
- 2024-2030年中国数字商务行业市场发展趋势与前景展望战略分析报告
- 烟草专卖行政执法中存在的问题及对策研究
- 二手车交易定金合同范本5篇
- 《乌鲁木齐市国土空间总体规划(2021-2035年)》
- 无人机应用技术专业申报表
- 《护理学基础》《健康评估》临床见习手册
评论
0/150
提交评论