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

付费下载

下载本文档

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

文档简介

学 号:课程设计题 目学 院专 业

学生信息管理系统计算机科学与信息工程学院金融信息化服务外包班 级学生姓名指导教师2015 年 12 月 28 日第1页共40页课程设计任务书学生姓名: 专业班级:指导教师: 工作单位:题 目:学生信息管理系统已知技术参数和设计要求:时间要求为14周~18周。开发工具java。c) 开发平台 JCreator4.50Pro 。所用文本Txt。说明文档要求符合学校课程设计文档规范。要求完成的主要任务:(包括课程设计工作量及其技术要求, 以及说明书撰写等具体要求)设计一个学生信息管理系统,应用软件的开发环境的简要说明,需求分析,数据设计,功能设计,程序的主要界面、代码实现,设计结果的总结,附录或参考资料登录、查询、增加、删除、修改本系统中的各个表信息时间安排:1、需求分析,联系实际,历时 2天。2、各种设计简要说明需求分析,数据设计,功能设计,历时 4天。3、编码,使用 Java语言在JCreator4.50Pro集成开发环境中实现本系统的添加、删除、查询、读取txt文档,历时 4天。4、界面设计与软件测试。 使用可视化界面设计,完成系统各界面功能的设计与实现。完成本系统的初步测试与试运行,历时5天。5、java课程设计文档的最后检查与修订,历时1天指导教师签名: 年 月 日第2页共40页目录一.应用软件的开发环境的简要说明 4(一)开发环境: 4(二)运行环境: 4二.需求分析 4(一)系统目标 4(二)系统功能分析 41.功能需求: 42.非功能约束需求: 53.数据需求: 54.系统需求 5三.数据设计 5(一)数据流图 5(二)数据字典 6数据项 6数据结构 7数据流 7数据存储 7处理过程 8四.功能设计 9(一)本系统的主要功能 9(二)Java源文件及其功能 9(三)详细设计 101.主类StudentManager 102.类Add 103.类Cha 114.类Shan 11(四)结构图及流程图 131.学生信息系统结构图 132.添加学生信息 143.删除学生信息 144.修改学生信息 155.查询学生信息 166.登录 16五.程序的主要界面、代码实现 17(一)登录界面 17(二)主界面 19(三)添加学生信息界面 23(四)删除学生信息界面 28(五)修改学生信息界面 31(六)查询学生信息界面 36六.设计结果的总结 39七.附录或参考资料 39第3页共40页一.应用软件的开发环境的简要说明(一)开发环境:开发环境的选择会影响到 java的设计,所以在这里给出学生信息管理系统的开发与运行环境如下:开发环境:WindowsXP开发工具:JCreator4.50Pro文本文件管理系统: txt(二)运行环境:为了保证系统运行的效率和可靠性。其运行要求如下:运行环境:JCreator4.50Pro以上客户端: Windows98/NT/XP 等硬件环境:服务器 CPU:PIII500以上 ,内存:256M以上客户机 CPU:P200MMX 以上,内存:32M以上二.需求分析(一)系统目标本系统的用户主要不是学生。通过一个学生信息管理系统,使学生的信息管理工作系统化、规范化、自动化,从而达到提高管理效率的目的。(二)系统功能分析1.功能需求:1)验证用户输入的登录信息。用户只有输入正确的登录信息后,才能进入信息管理系统。2)查询学生信息功能。选择该功能后,可以查询学生基本信息。3)添加学生信息功能。选择该功能后,可以添加学生的学生基本信息。4)修改学生信息功能。选择该功能后,可以修改学生的学生基本信息。5)删除学生信息功能。选择该功能后,可以删除学生的学生基本信息。6)退出。可以退出本信息管理系统。第4页共40页2.非功能约束需求:安全性:权限管理,身份检验。可靠性:基本能够运行,不会系统崩溃。时间响应速度:查询,更新。3.数据需求:1)学生信息的添加和删除都需要管理人员来执行。2)输入学生信息时,要求学生信息完整。3)登录时要求输入用户名和匹配的密码。4.系统需求1)本系统只有输入正确的用户名和密码,才能进入系统。2)但凡进入系统的人,都可以执行各种操作。三.数据设计(一)数据流图用的用户信息学生信息Student.txtAdmin.txt中户管理系统中的学生信息登录图2.1学生信息管理系统的顶层数据流图

结果第5页共40页根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图 2.2所示。用户登录D1Admin.txt12345添加删除修改查询退出信息信息信息信息D2Student.txt图2.2学生信息管理系统的 0层数据流图(二)数据字典数据项有了系统的数据流图后,还有相当多的数据信息如学生具体信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。图 2.3列出了系统的主要数据字数据项:学号含义说明:唯一识别学生的号码别名:学生证号类型:字符型长度:10取值范围:0000000000—9999999999取值含义:前四位表示班级号、中间四位表示专业代码、后两位表示学生编号与其他数据项的逻辑关系:标识项数据项:姓名含义说明:学生的名称类型:字符型长度:10取值范围:所有汉字数据项:性别含义说明:识别学生性别类型:字符型长度:2取值范围:男、女数据项:专业含义说明:表示该生所学的专业第6页共40页类型:字符型长度:30数据项:年级含义说明:该表该生所在的年级类型:字符型长度:20数据项:出生含义说明:该表该生出生年月类型:字符型长度:4取值范围:无(eg:1994.03.24)数据项:用户含义说明:是否有登录的权限类型:字符型长度:10数据结构1.数据结构:学生含义说明:是学生信息管理系统的主要数据,定义了一个学生的有关信息组成:姓名、学号、性别、专业、年级、出生2.数据结构:用户含义说明:是学生信息管理系统的数据,定义了有关用户的信息组成:用户名、密码数据流数据流:登录信息说明:用户用来登录学籍系统的用户学生信息数据流来源:用户数据流去向:用户信息认证组成:用户名数据流:学生信息查询结果说明:用户查看学生信息后得到的结果数据流来源:查询学生信息数据流去向:用户组成:姓名、学号、性别、专业、年级、出生数据存储数据存储:学生信息数据说明:记录所有学生的学生信息资料库流入数据流:相关人员输入第7页共40页流出数据流:学生查询学生信息数据量:由信息详细情况而定存取方式:随机存取数据存储:用户登录信息数据说明:用户的登录信息流入数据流:管理员输入或用户输入流出数据流:验证用户信息数据量:由用户登录多少决定存取方式:随机存取处理过程处理过程:查询学生信息说明:用户获得所查学生信息输入:选择查询学生信息功能输出:查询结果处理:用户进入系统后,选择查询学生信息功能,获得相应信息处理过程:添加学生信息说明:用户添加学生信息输入:选择添加学生信息功能输出:添加成功处理:用户进入系统后,选择添加学生信息功能处理过程:删除所查学生信息说明:用户删除学生信息输入:选择删除学生信息功能输出:删除结果处理:用户进入系统后,选择删除学生信息功能处理过程:修改学生信息说明:学生修改学生信息输入:选择修改学生信息功能输出:修改结果处理:用户进入系统后,选择修改学生信息功能学生基本信息表( Student)数据类型特殊属性描述String不为空姓名String不为空学号String不为空性别String不为空专业String不为空年级String不为空出生表3.1学生信息基本表第8页共40页四.功能设计(一)本系统的主要功能运行该系统成功后,会出现一个登录的界面,输入正确的用户名后,会出现一个主界面,上面有5个子菜单分别是添加、修改、查询、删除和退出。点击它们会出现不同的界面,分别有不同的功能:1.StudentMessage.java该类负责创建学生信息管理系统的主窗口,该类还有main方法,程序从该类开始执行。2.Add.java该类创建的对象是 StudentManager类的重要成员之一,负责提供添加学生基本信息的界面。3.Xiu.java该类创建的对象是 StudentManager类的重要成员之一,负责提供查询和修改学生基本信息的界面。4.Shan.java该类创建的对象是 StudentManager类的重要成员之一,负责提供删除学生基本信息的界面。5.Cha.java创建的对象是 StudentManager类的重要成员之一,该类负责提供查询学生基本信息的界面。6.Login1.java该类创建的对象是 StudentManager类的重要成员之一,该类负责用户登录时的检验。本系统是基于数据库的学生信息管理系统,实现了连接数据库,录入、修改、查询、删除学生信息的功能。(二)Java源文件及其功能1.admin.txt该文件为登录提供登录的用户名, Login1调用该文件。2.student.txt该文件为添加、修改、查询、删除操作提供学生信息, Add,Shan,Cha和Xiu调用该文件。第9页共40页(三)详细设计1.主类StudentManager成员变量描述变量类型名称按钮JButtonb1(添加)按钮JButtonb2(删除)按钮JButtonb3(修改)按钮JButtonb4(查询)按钮JButtonb5(退出)面板容器JPanelJp表4.1主要成员变量(属性)方法名称返回类型功能备注Studentmessage无类型创建窗口构造方法main无类型执行程序程序的主函数表4.2主要方法2.类Add成员变量描述 变量类型 名称ArrayList ArrayList a单行文本 JTextField 学号、姓名、专业、年级、出生、性别标题 JLable 学号、姓名、专业、年级面板容器 JPanel Jp按钮 JButton 确定、清空、返回表4.3主要成员变量(属性)方法名称 返回类型 功能 备注Add 无类型 创建添加学生信息界面 构造方法表4.4主要方法第10页共40页3.类Cha成员变量描述变量类型名称ArrayList对象类型ArrayLista面板容器JPanelJp按钮JButton确定、清空、返回标题JLable请输入内容:单行文本JTextFieldNULL多行文本框JTextAreaNULL滚动条JScrollPaneNULL表4.5主要成员变量(属性)方法名称返回类型功能备注Cha无类型创建查找学生信息界面构造方法readDate无类型读取studen.txt中的数据无Js无类型执行查找无表4.6主要方法4.类Shan成员变量描述 变量类型 名称ArrayList 对象类型 ArrayList a面板容器 JPanel Jp按钮 JButton 确定、清空全部数据、返回标题 JLable 请输入要删除的单行文本 JTextField NULL表4.7主要成员变量(属性)方法名称 返回类型 功能 备注Shan 无类型 创建删除学生信息界面 构造方法readDate 无类型 读取studen.txt中的数据 无Delete 无类型 执行删除 无表4.8主要方法第11页共40页5.类Xiu成员变量描述 变量类型 名称ArrayList 对象类型 ArrayList a面板容器 JPanel Jp按钮 JButton 查找、修改、返回标题 JLable 学号、姓名、专业、年级单行文本 JTextField 学号、姓名、专业、年级表4.9主要成员变量(属性)方法名称 返回类型 功能 备注Xiu 无类型 创建修改学生信息界面 构造方法readDate 无类型 读取studen.txt中的数据 无Pc 无类型 执行修改后保存 无Cx 无类型 执行查询并显示在框中 无表4.10主要方法6.类Login1成员变量描述变量类型名称ArrayList对象类型ArrayLista面板容器JPanelJp按钮JButton确定标题JLable请输入用户名:单行文本JTextFieldNULL密码框JPasswordFieldpassWord表4.11主要成员变量(属性)方法名称返回类型功能备注Login1无类型创建登录学生信息界面构造方法readDate无类型读取studen.txt中的数据无Log无类型执行查询是否有该用户无表4.12主要方法第12页共40页(四)结构图及流程图1.学生信息系统结构图学生信息管理系统添修删加改除学学学生生生信信信息息息通过通通姓过过名姓学查名号找录录录录录录删删入入入入入入除除姓性学专年出名别号业级生修修修修修修改改改改改改姓性学专年出名别号业级生图4.1学生信息系统结构图

查找学生信息通 通过 过姓 学名 号查 查找 找第13页共40页2.添加学生信息删除学生信息是是否存在否按提示:输入学个的各种信息退出该功能,返回主菜单,继续选择图4.2添加学生信息流程图3.删除学生信息删除学生信息否是否存在是输入姓名或学号并执行删除退出该功能,返回主菜单,继续选择图4.3删除学生信息流程图第14页共40页4.修改学生信息修改学生信息否是否存在是输入姓名或学号并显示在框中修改后保存退出该功能,返回主菜单,继续选择图4.4删除学生信息流程图第15页共40页5.查询学生信息修改学生信息否是否存在是输入姓名或学号查询退出该功能,返回主菜单,继续选择图4.5删除学生信息流程图6.登录登录系统否用户是否存在是登录该系统图4.6登录学生信息系统流程图第16页共40页五.程序的主要界面、代码实现(一)登录界面图5.1登录界面源代码:classLogin1extendsJFrame{JLabell1=newJLabel(" 用户名:");JLabell3=newJLabel(" 欢迎登录学生信息管理系统! ");JLabell2=newJLabel(" 密码:");JPasswordFieldpassWord=newJPasswordField();JButtonb1=newJButton(" 确定");JTextFieldjtf=newJTextField(150);ArrayLista=newArrayList();JPaneljp=newJPanel();publicLogin1(){Fontf=newFont(" 黑体",Font.BOLD,15);// 修改字体l3.setFont(f);// 修改字体jp.add(l3);jp.add(l1);jp.add(jtf);jp.add(l2);jp.add(passWord);jp.add(b1);getContentPane().add(jp);jp.setLayout(null);第17页共40页intx=0,y=0;l3.setBounds(x+60,y+10,350,30);l1.setBounds(x+70,y+50,200,30);jtf.setBounds(x+130,y+60,80,25);l2.setBounds(x+70,y+100,200,40);passWord.setBounds(x+130,y+105,80,25);b1.setBounds(x+100,y+170,70,25);setSize(300,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setTitle(" 学生信息管理系统登录");setVisible(true);b1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){log();}}); //查询是否有该用户}voidreadDate(){try{Scannersc=newScanner(newFile("admin.txt"));while(sc.hasNextLine())// 一行一行的读取{Stringtemp=sc.nextLine();a.add(temp);//txt 中的所有数据,逐行将数据加载到 ArrayList 中}}catch(Exceptionex){}}publicvoidlog(){a.clear();readDate();booleanflag=true;if(jtf.getText().equals("")){JOptionPane.showMessageDialog(null," 用户名不能为空!");}elseif(passWord.getText().equals("")){JOptionPane.showMessageDialog(null,"密码不能为空!");}else第18页共40页{Stringsh=jtf.getText();Stringsh2=passWord.getText();for(inti=0;i<a.size();i++){Stringstr=(String)a.get(i);if(str.indexOf(sh)>=0&&str.indexOf(sh2)>=0){flag=false;dispose();StudentMessages=newStudentMessage();}}if(flag){JOptionPane.showMessageDialog(null,"密码错误");jtf.setText(null);passWord.setText(null);}}}}(二)主界面第19页共40页图5.2主界面源代码:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;importjava.util.*;publicclassStudentMessageextendsJFrame{CInsteadc1=newCInstead();Containerc;JButtonb1;JButtonb2;JButtonb3;JButtonb4;JButtonb5;JLabeltail;publicStudentMessage(){setContentPane(c1);c=getContentPane();Fontf=newFont(" 隶书",Font.BOLD,20);// 修改字体b1=newJButton(" 添加");b2=newJButton(" 删除");b3=newJButton(" 修改");b4=newJButton(" 查询");b5=newJButton(" 退出");tail=newJLabel(" 学生信息管理系统");tail.setFont(f);// 修改字体JPaneljp=newJPanel();c.add(tail);第20页共40页c.add(b1);c.add(b2);c.add(b3);c.add(b4);c.add(b5);c.setLayout(null);intx=0,y=0;tail.setBounds(x+80,y+30,200,40);b1.setBounds(x+120,y+90,70,25);b2.setBounds(x+120,y+140,70,25);b3.setBounds(x+120,y+190,70,25);b4.setBounds(x+120,y+240,70,25);b5.setBounds(x+120,y+290,70,25);setSize(330,450);show();setTitle("学生信息管理系统");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);b5.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){System.exit(0);}}); //关闭b4.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){Chac=newCha();}}); //查询b1.addActionListener(第21页共40页newActionListener(){publicvoidactionPerformed(ActionEventae){Addc=newAdd();}}); //添加b2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){Shanc=newShan();}}); //删除b3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){Xiuc=newXiu();}}); //修改setVisible(true);}publicstaticvoidmain(String[]args){Login1n=newLogin1();}classCInsteadextendsJPanel{ImageIconicon;Imageimg;publicCInstead(){icon=newImageIcon(StudentMessage.class.getResource("12.jpg"));img=icon.getImage();第22页共40页}publicvoidpaintComponent(Graphicsg){super.paintComponent(g);g.drawImage(img,0,0,null);}}}(三)添加学生信息界面图5.3添加学生信息界面源代码:classAddextendsJFrame{JLabell1=newJLabel(" 添加学生信息");JLabell2=newJLabel(" 姓名:");第23页共40页JLabell3=newJLabel(" 性别");JLabell4=newJLabel(" 学号:");JLabell5=newJLabel(" 专业:");JLabell6=newJLabel(" 年级:");JLabell7=newJLabel(" 出生:");JButtonb1=newJButton(" 确定");JButtonb2=newJButton(" 清空");JButtonb3=newJButton(" 返回");JTextFieldjtf1=newJTextField(15);JTextFieldjtf2=newJTextField(15);JTextFieldjtf3=newJTextField(15);JTextFieldjtf4=newJTextField(15);JTextFieldjtf5=newJTextField(15);JTextFieldjtf6=newJTextField(15);JPaneljp=newJPanel();ArrayLista=newArrayList();Filefile=newFile("student.txt");publicAdd(){Fontf=newFont(" 黑体",Font.BOLD,20);// 修改字体l1.setFont(f);// 修改字体jp.add(l1);jp.add(l2);jp.add(jtf1);jp.add(l3);jp.add(jtf2);jp.add(l4);jp.add(jtf3);jp.add(l5);jp.add(jtf4);jp.add(l6);第24页共40页jp.add(jtf5);jp.add(l7);jp.add(jtf6);jp.add(b1);jp.add(b2);jp.add(b3);getContentPane().add(jp);jp.setLayout(null);intx=0,y=0;l1.setBounds(x+130,y+30,200,40);l2.setBounds(x+80,y+90,70,25);l3.setBounds(x+80,y+130,70,25);l4.setBounds(x+80,y+170,70,25);l5.setBounds(x+80,y+210,70,25);l6.setBounds(x+80,y+250,70,25);l7.setBounds(x+80,y+290,70,25);jtf1.setBounds(x+120,y+90,150,25);jtf2.setBounds(x+120,y+130,150,25);jtf3.setBounds(x+120,y+170,150,25);jtf4.setBounds(x+120,y+210,150,25);jtf5.setBounds(x+120,y+250,150,25);jtf6.setBounds(x+120,y+290,150,25);b1.setBounds(x+60,y+340,70,25);b2.setBounds(x+140,y+340,70,25);b3.setBounds(x+230,y+340,70,25);setSize(350,500);setTitle(" 添加");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b3.addActionListener(第25页共40页newActionListener(){publicvoidactionPerformed(ActionEventae){dispose();}}); //关闭当前页面b2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){jtf1.setText(null);jtf2.setText(null);jtf3.setText(null);jtf4.setText(null);jtf5.setText(null);jtf6.setText(null);}}); //清空当前页面b1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){try{ if(jtf1.getText().equals("") || jtf2.getText().equals("")||jtf3.getText().equals("") ||jtf4.getText().equals("")||jtf5.getText().equals("")||jtf6.getText().equals("")){JOptionPane.showMessageDialog(null, "不可以有空,请输入完整信息!");}else{FileOutputStreamfos=newFileOutputStream(file,true);OutputStreamWriterosw=newOutputStreamWriter(fos);BufferedWriterbw=newBufferedWriter(osw);第26页共40页Stringstr1=jtf1.getText();Stringstr2=jtf2.getText();Stringstr3=jtf3.getText();Stringstr4=jtf4.getText();Stringstr5=jtf5.getText();Stringstr6=jtf6.getText();String s1=newString(str1+" "+str2+" "+str3+" "+str4+""+str5+""+str6);bw.write(s1);bw.newLine();bw.flush();bw.close();osw.close();fos.close();}}catch(FileNotFoundExceptione1){e1.printStackTrace();}catch(IOExceptione2){e2.printStackTrace();}}}); //写入文档中}}第27页共40页(四)删除学生信息界面图5.4删除学生信息界面源代码:classShanextendsJFrame{JLabell1=newJLabel(" 请输入要删除的学生的姓名或学号 ");JTextFieldjtf=newJTextField(20);JButtonb1=newJButton(" 确定");JButtonb2=newJButton(" 清空全部数据");JButtonb3=newJButton(" 返回");JPaneljp=newJPanel();ArrayLista=newArrayList();publicShan(){Fontf=newFont(" 黑体",Font.BOLD,20);// 修改字体l1.setFont(f);// 修改字体jp.add(l1);jp.add(jtf);jp.add(b1);jp.add(b3);jp.add(b2);getContentPane().add(jp);jp.setLayout(null);intx=0,y=0;l1.setBounds(x+50,y+30,400,40);jtf.setBounds(x+100,y+100,200,25);b1.setBounds(x+100,y+170,70,25);b2.setBounds(x+140,y+220,140,25);b3.setBounds(x+230,y+170,70,25);第28页共40页setSize(440,300);setTitle(" 删除");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){dispose();}}); //返回b2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){jtf.setText(null);}}); //清空b1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){delete();}}); //删除}voidreadDate(){try{Scannersc=newScanner(newFile("student.txt"));while(sc.hasNextLine()){Stringtemp=sc.nextLine();a.add(temp);// 逐行将数据加载到 ArrayList 中}}catch(Exceptionex){}}voiddelete(){try{a.clear();readDate();BufferedReaderbr=newBufferedReader(newFileReader("student.txt"));StringBuffersb=newStringBuffer(4096);Stringxx=jtf.getText();第29页共40页booleanflag=false;booleanflag2=false;for(inti=0;i<a.size();i++){Stringstr=(String)a.get(i);if(str.indexOf(xx)<0){flag=true;}}if(flag){JOptionPane.showMessageDialog(null,"系统中没有这个学生!");}for(inti=0;i<a.size();i++){Stringstr=(String)a.get(i);if(str.indexOf(xx)<0)// 找到不要删除的行sb.append(str).append("\r\n");elseflag2=true;}if(flag2){JOptionPane.showMessageDialog(null," 找到该生的信息,已删除!");}br.close();BufferedWriterbw=newBufferedWriter(newFileWriter("student.txt"));bw.write(sb.toString());bw.close();}catch(Exceptionex){}}}第30页共40页(五)修改学生信息界面图5.5修改学生信息界面(修改前)图5.5.1student.txt 中的信息显示第31页共40页图5.6修改学生信息界面(修改后)图5.6.1student.txt 中的信息显示源代码:classXiuextendsJFrame{JLabell1=newJLabel(" 要修改的学生:");JLabell2=newJLabel(" 姓名:");JLabell3=newJLabel(" 性别");JLabell4=newJLabel(" 学号:");JLabell5=newJLabel(" 专业:");JLabell6=newJLabel(" 年级:");JLabell7=newJLabel(" 出生:");JButtonb1=newJButton(" 查找");JButtonb2=newJButton(" 修改");JButtonb3=newJButton(" 返回");JTextFieldjtf0=newJTextField(10);JTextFieldjtf1=newJTextField(15);JTextFieldjtf2=newJTextField(15);JTextFieldjtf3=newJTextField(15);JTextFieldjtf4=newJTextField(15);JTextFieldjtf5=newJTextField(15);JTextFieldjtf6=newJTextField(15);JPaneljp=newJPanel();ArrayLista=newArrayList();publicXiu(){jp.add(l1);jp.add(jtf0);jp.add(l2);jp.add(jtf1);jp.add(l3);jp.add(jtf2);jp.add(l4);jp.add(jtf3);jp.add(l5);jp.add(jtf4);jp.add(l6);jp.add(jtf5);jp.add(l7);jp.add(jtf6);jp.add(b1);jp.add(b2);jp.add(b3);getContentPane().add(jp);第32页共40页jp.setLayout(null);intx=0,y=0;l1.setBounds(x+70,y+30,200,40);jtf0.setBounds(x+160,y+40,80,20);l2.setBounds(x+80,y+90,70,25);l3.setBounds(x+80,y+130,70,25);l4.setBounds(x+80,y+170,70,25);l5.setBounds(x+80,y+210,70,25);l6.setBounds(x+80,y+250,70,25);l7.setBounds(x+80,y+290,70,25);jtf1.setBounds(x+120,y+90,150,25);jtf2.setBounds(x+120,y+130,150,25);jtf3.setBounds(x+120,y+170,150,25);jtf4.setBounds(x+120,y+210,150,25);jtf5.setBounds(x+120,y+250,150,25);jtf6.setBounds(x+120,y+290,150,25);b1.setBounds(x+60,y+340,70,25);b2.setBounds(x+140,y+340,70,25);b3.setBounds(x+230,y+340,70,25);setSize(350,500);setTitle(" 修改");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){dispose();}}); //关闭当前页面b1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){cx();}}); //查询并显示在框中b2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){pc();}}); //修改后保存}voidreadDate(){try{第33页共40页Scannersc=newScanner(newFile("student.txt"));while(sc.hasNextLine())// 一行一行的读取{Stringtemp=sc.nextLine();a.add(temp);//txt 中的所有数据,逐行将数据加载到 ArrayList 中}}catch(Exceptionex){}}publicvoidpc()// 修改后保存{try{a.clear();readDate();BufferedReaderbr=newBufferedReader(newFileReader("student.txt"));StringBuffersb=newStringBuffer(4096);Stringxx=jtf0.getText();for(inti=0;i<a.size();i++){Stringstr=(String)a.get(i);if(str.indexOf(xx)<0)// 找到不要删除的行sb.append(str).append("\r\n");}br.close();BufferedWriterbw=newBufferedWriter(newFileWriter("student.txt"));bw.write(sb.toString());bw.close();}catch(Exceptionex){}try{ if(jtf1.getText().equals("") || jtf2.getText().equals("")||jtf3.getText().equals("") ||jtf4.getText().equals("")||jtf5.getText().equals("")||jtf6.getText().equals("")){JOptionPane.showMessageDialog(null, "不可以有空,请输入完整信息 !");}else{FileOutputStreamfos=newFileOutputStream("student.txt",true);OutputStreamWriterosw=newOutputStreamWriter(fos);BufferedWriterbw=newBufferedWriter(osw);Stringstr1=jtf1.getText();Stringstr2=jtf2.getText();Stringstr3=jtf3.getText();Stringstr4=jtf4.getText();Stringstr5=jtf5.getText();Stringstr6=jtf6.getText();第34页共40页Strings1=newString(str1+""+str2+""+str3+""+str4+""+str5+""+str6);bw.write(s1);bw.newLine();bw.flush();bw.close();osw.close();fos.close();}}catch(FileNotFoundExceptione1){e1.printStackTrace();}catch(IOExceptione2){e2.printStackTrace();}}publicvoidcx()// 查询并显示在框中{try{ a.clear();readDate();booleanflag=true;Stringsh=jtf0.getText();for(inti=0;i<a.size();i++){Stringstr=(String)a.get(i);if(str.indexOf(sh)>=0){Scannerss=newScanner(str);while(ss.hasNext()){Stringa1=ss.next();Stringa2=ss.next();Stringa3=ss.next();Stringa4=ss.next();Stringa5=ss.next();Stringa6=ss.next();jtf1.setText(a1);jtf2.setText(a2);jtf3.setText(a3);jtf4.setText(a4);jtf5.setText(a5);第35页共40页jtf6.setText(a6);}flag=false;}}if(flag){JOptionPane.showMessageDialog(null," 查无此人!");}}catch(Exceptionex){}}}(六)查询学生信息界面图5.7.查询学生信息界面源代码:classChaextendsJFrame{JLabell1=newJLabel(" 请输入的内容:");JButtonb1=newJButton(" 确定");JButtonb2=newJButton(" 清空");JButtonb3=newJButton(" 返回");JTextFieldjtf=newJTextField(20);JTextAreajta=newJTextArea(10,30);JPaneljp=newJPanel();JScrollPanejsp=newJScrollPane();//为多行文本框加入滚动条ArrayLista=newArrayList();publicCha(){第36页共40页jp.add(l1);jp.add(jtf);jp.add(jta);jp.add(jsp);jp.add(b1);jp.add(b2);jp.add(b3);getContentPane().add(jp);setSize(370,300);setTitle(" 查找");setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setVisible(true);b3.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){dispose();}}); //关闭当前页面b2.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){jtf.setText(null);jta.setText(null);}}); //清空b1.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventae){js();}}); //执行查询}voidreadDate(){try{Scannersc=newScanner(newFile("student.txt"));while(sc.hasNextLine())// 一行一行的读取{Stringtemp=sc.nextLine();a.add(temp);//txt 中的所有数据,逐行将数据加载到 ArrayList 中}}catch(Exceptionex){}第37页共40页}publicvoidjs(){a.clear();readDate();booleanflag=true;Stringsh=jtf.getText();for(inti=0;i<a.size();i++){Stringstr=(String)a.get(i);if(str.indexOf(sh)>=0){Scannerss=newScanner(str);while(ss.hasNext()){Stringa1=ss.next();Stringa2=ss.next();Stringa3=ss.next();Stringa4=ss.next();Stringa5=ss.next();Stringa6=ss.next();jta.append(" 姓名:"+a1+"\r\n"+" 性别:"+a2+"\r\n"+" 学号:"+a3+"\r\n"+" 专业:"+a4+"\r\n"+" 年级:"+a5+"\r\n"+" 出生年月:"+a6+"\r\n");}flag=false;}}if(flag){JOptionPane.showMessageDialog(null," 查无此人!");}}}第38页共40页六.设计结果的总结这几周的 JAVA课程设计,时间上说长不长,说短也不短,却让我学到了很多,第一点就是: JAVA很难,似乎是学不完的,你觉得自己了解一点,是总会发现还有很多自己所不懂的东西,还有很多自己所没探知的领域,很多知识运用到实践中很有一定的难度,看着自己的程序运行结果,突然发现 JAVA真的很神奇,居然能运行出那么漂亮的系统,虽然它依旧很简陋。在我们上机调试程序的过程中,我遇到了很多的问题,自己设计是总是觉得没有头绪,无从下手。后来还是看了这一学期的 java实验的实验报告, 我才总结出如何写的。 遇到不懂得问题时, 问问同学是一个好的方法,网络是一个全能的帮手,不懂得问题都可以在上面找到答案。在这期末考试前期,学院给我们安排的课程设计周,总让我们觉的有些为难我们,这样一个复杂困难而又繁琐的作业,但是完成以后就会发现,课程设计不仅让我们巩固了所学的知识,还使得我们学习到了更多平时所忽略的,最重要的是,它磨砺了我们,让我们在大学的下一个阶段能更好的成长。七.附录或参考资料[1]耿祥义,张跃平.Java2实用教程(第三版)[M].北京:清华大学出版社,2006[2](美)霍斯特曼(HorstmannC.S.)&nbs.Java2核心技术(卷Ⅱ高级特性原书第7版)/Sun公司核心技术丛书 [M]. 机械工业出版社 ,2006叶乃文,王丹java语言程序设计教程机械工业出版社2010.1[5]张桂珠刘丽陈爱国Java面向对象程序设计(第2版)北京邮电大学出版社[6]毕广吉.Java程序设计实例教程[M].北京:冶金工业出版社,2007年基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和

温馨提示

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

最新文档

评论

0/150

提交评论