基于数据结构的学籍管理系统方案.doc_第1页
基于数据结构的学籍管理系统方案.doc_第2页
基于数据结构的学籍管理系统方案.doc_第3页
基于数据结构的学籍管理系统方案.doc_第4页
基于数据结构的学籍管理系统方案.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

. . . . .课程设计(论文)题 目:基于数据结构的学籍管理系统 学 院: 信息学院 专 业: 网络工程 姓 名: 左琴 学 号: 1101010160 班 级: 信息A1111班 指导教师: 周辉奎老师 职 称: 讲师 完成日期: 2013年12月 学习好帮手摘要本文首先简要的介绍了学生学籍管理现代化的时代背景,指出学籍管理现代化的必要性和重要性,接着详细阐述了学生学籍管理系统的设计与实现,在学籍系统的设计这一部分,主要是对系统设计到的数据以及主要的功能进行分析,在实现这一部分主要介绍了与管理信息系统设计开发结合最紧密的三方面:管理信息系统MIS(Management Information Syatem)、java以及数据库的知识,在管理信息系统中论述了其基本概念、特点、开发过程和方法及其发展;在java数据库中主要介绍了概念模型、数据模型和基本语法三个方面以及SQL语句编程。本文的重点是系统的设计与实现,以自己开发的学生管理信息系统为例,详细说明开发的一般流程和开发数据库的基本语句。【关键词】学籍管理 教育管理 信息化 java SQLAbstractThis paper begins with a brief introduction of the modern management of the student status management modernization background, points out the necessity and importance, then illustrates the design and Realization of the student management system, in the design of roll system is the main part, the design of the system to the data as well as the main functions of analysis, in the realization of this part mainly introduces three most closely with the design and development of management information systems: management information system MIS (Management Information Syatem), Java and database knowledge, in the management information system and discusses the basic concepts, characteristics, development process and methods and its development; in the Java database mainly introduces three the conceptual model, data model and basic grammar and SQL programming. The focus of this paper is the design and Realization of the system, the student management information system development as an example, detailed description of the basic statement of general process and development of database development.【Key words】schoo lmanagement education management information system java SQ 学习好帮手第一章 引言1.1设计概况 名称:学籍管理系统 用途:学校等机构 功能:实现对学生学籍信息的管理与维护等功能1.2设计说明学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。该系统实现的大致功能:1.管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。2.查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。3.添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。4.修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。完成对学生记录的修改。5.删除学生记录。可以根据输入的“学号”或者”姓名”进行删除的操作。本系统只实现了基本操作功能,对于添加管理员,修改登录密码和数据库信息备份等功能并未提供,便利性和安全性仍有不足,使用过程中造成的不便还请谅解!第二章 课程设计目的与需求分析2.1 课程设计目的本课程设计作为Java语言程序设计课程的延伸,在完成了Java语言程序设计课程的理论知识学习后,希望通过本次课程设计的实践操作,能够懂得Java的各种相关知识的使用,真正的提高我们独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。为了适应时代的发展,本次课程设计的主要任务是设计一个学生学籍管理系统并完成一些基本操作。其目的是:(1)运用已学的java知识编一些简单使用的程序,通过本课程设计使我们加 深理解、巩固课堂理论知识和实验知识;(2)使我们初步具备综合运用所学Java语言基础知识,面向对象程序设计的基本思想、方法与技术,用户界面设计编程和文件编程技术等开发简单应用系统的基本能力;(3)使理论和实际相结合,真正做到学以致用,并适应时代发展的潮流。2.2功能需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。而且效率也是很低的。所以如何自动高效地管理信息是这些年来许多人所研究的。随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。在开发学生学籍管理系统之前,首先要知道所要开发的系统要实现那些功能,是针对学生的系统还是针对管理员的系统,并且要清楚不同级别的用户具有什么样的功能,实现什么样的界面。当明确了这些,项目开发的思路就清晰了,然后再对网络上别的学生学籍管理系统进行考察、分析,从中吸取经验,并结合本系统的要求以及实际的管理情况,设计出一个合理的学生学籍管理系统。本系统需要如下:(1)系统设计界面要求整洁,美观大方,能够展现各个功能;(2)系统首页具有banner界面,起到耳目一新的印象;(3)设计主要是面向管理员和学生,为他们解决查询、修改、删除操作问题;(4)系统运行稳定,安全可靠;(5)要求对学生基本信息进行严格管理。对于高校学籍管理系统使用进行深入的需求调研基础上,对于系统使用者的需求进行有效识别与归纳,明确了本系统应当实现如下几个方面的功能:(1)系统登入功能学籍管理系统支持用户进行登录操作。使用者在正确输入登录信息之后,能够进入系统使用界面。(2)查询学生信息功能学籍管理系统支持使用者对于学生的个人信息、成绩信息等进行查询操作,并对于查询数据进行相应的显示。(3)添加学生信息功能学籍管理系统支持使用者对于学生个人信息进行添加操作。(4)删除学生信息功能学籍管理系统支持使用者对于学生个人信息进行删除操作。2.3性能需求基于以上对学生信息管理系统需求的分析,对该系统的性能需求如下:1可靠性学生信息的记录和管理工作是现阶段高校学院管理中较为重要的一环,此项工作烦琐、复杂,并且学生的数量庞大,这就要求提供细致、安全、系统管理,采用性能优越的数据库系统实现。这样有利于提高大批量数据的吞吐时间,使整个系统管理规范化;而且随着数据库的增大和操作扩展到一天24小时、一周7天,能够执行备份操作而不影响系统的正常运转。此外,在灾难性故障发生后能够还原数据库,能在最短时间内还原它,使数据的完整性、安全性得到保障。2可扩展性随着学校的发展,新的学生信息的添加和旧的学生信息的保存都是必须要考虑到的。同时,系统要求能够封装实现策略,把能够解决同一类应用的程序代码封装在类中,对外只提供公有的接口,从而提高今后修改数据结构或算法的自由度。精心确定公有方法,在开发出的系统的基础上能够很好地添加新的功能。3可维护性学生信息系统的维护需要的工作量比较大,因此要求系统的设计能够让软件维护人员很容易地理解、改正、改动和改进系统。减少软件维护所需的工作量,降低软件系统的总成本。而文档是影响软件可维护性的决定因素,要求有描述系统功能和使用方法的用户文档和描述系统设计、实现和测试的系统文档。4可复用性软件复用性是提高软件开发生产率和目标系统质量的重要途径。面向对象方法的一个主要目标,就是提高软件的可复用性。要求能够提高设计系统方法的内聚,减少方法的规模,保持方法的一致性以及把策略和实现分开。要求在编程时不要把策略和实现放在同一个方法中,把算法的核心部分放在一个单独的具体实现方法中,从策略方法中提取出具体参数,作为调用实现方法的变元。5可交互性此系统的本质是为学生信息管理服务,为学校、老师管理带来方便。因此,系统的界面应该尽量友好,操作应该尽量简单明了。保证良好的交互性。第三章 概要设计学生学籍管理系统的程序文件为Stuaccess.java。其主要功能为构成学生信息管理系统的主体框架。用例图1表示如下例图1学生学籍管理系统最主要的是在于对于输入,修改,查找,删除功能的编写。关于输入功能主要是学生学籍信息的存入,以及存储文档的建立。本系统建立了一个TXT文档来存储学生的学籍信息。需要实现的是如何把信息存入文档里。使用FileInputStream进行文件输入,使用FileOutputStream进行文件输出数据写入,使用ObjectInputStream对学生对象信息输入,使用ObjectOutputStream进行信息输出,并与存储学生信息的文档关联。修改功能需要实现的是用现有数据覆盖文档存储的学生学籍信息。首先应该考虑是否原本文档里含有输入的学号的信息,如果有,则输入其修改信息替换掉原来的学籍信息给予保存文档。查找功能其实就是修改功能的一部分,不过当读取到对应的学生学籍信息之后,要进行对象输出,显示在界面里。删除功能中是查找功能的延续,读取到学籍信息,给予制空,对应的文档里的学生学籍信息全部为null。所有的功能中都需要考虑到异常情况。比如,当进行输入功能时,填写人员没有填写学号而直接经行数据输入,应当给予警告。对于界面布局方面,应当多次调试,已获得更好的显示效果。界面也应该做到简洁明了,虽然使用者不明白此系统构造,但是仍然能够很轻松的使用本系统。主界面中菜单栏的建立和录入内容用来连接学籍管理系统的功能而进行操作。第四章 详细设计4.1 主界面this.input = new JMenuItem(输入学生的信息);this.change = new JMenuItem(修改学生的信息);this.search = new JMenuItem(查找学生的信息);this.delete = new JMenuItem(删除学生的信息);Jbar = new JMenuBar();menuj = new JMenu(功能);menuj.add(input);menuj.add(change);menuj.add(search);menuj.add(delete);Jbar.add(menuj);setJMenuBar(Jbar);主界面主要就是建立一个窗口,在窗口中插入一个JBar菜单条,并将其设置为建立窗口的菜单条,用来储存功能。添加完菜单条后在其添加菜单menuj。接下来在菜单中添加内容,本系统只添加了input,change,search,delete四项内容用来建立功能。建立一个TXT文档用来存放string的学生各项数据,使其能实现功能。另外对其布局进行了修改,采用隶书彩色字体,使用lab1 = new JLabel(欢迎进入学生学籍管理系统, JLabel.CENTER)使文字居中。在具体设计过程中,首先,基本功能和组件的创建;然后,创建构造方法,这一部分包括:实体化菜单组件,并加入到菜单中,为主面板界面添加欢迎语文本标签,为各个功能创建监听事件,创建卡片管理和面板以及基本信息存入文件,然后在具体实现过程中判断文件是否存在,若存在则创建输出文件,若不存在则实现各个功能信息的输入文件的创建,然后添加关闭窗口方法;第三步分为创建监听方法,实现对各个功能模块的操作,以及鼠标点击实现进入相应的功能面板;最后创建相应的main()方法。4.2 Student类public class Student implements java.io.SerializableString name;String number;String department;String sex;String birth;String grade;建立一个Student类用于存放学生的name,number,sex等数据,方便的被其他功能调用,被其他功能读取或者修改。程序编写好后,对程序进行编译运行和调试,输入学生信息进行验证,看是否实现对学生基本信息进行输入、查找、修改、删除等基本操作。本次实验是一个基于全面知识的练习和掌握,通过对各个模块组件的设计过程,对所学知识有了进一步的掌握。4.3 输入功能JTextField name, number, birth, grade, department;/ 学生的信息项。JRadioButton male, female;/ 单选按钮Student Stu;ButtonGroup group;/ 形成单选效果JButton confirm, reset;File fi1;FileInputStream fin;/ 文件输入流FileOutputStream fou;/ 文件输出流写入数据ObjectInputStream oin;/ 对象输入流ObjectOutputStream oou;/ 对象输出流Hashtable ha1;/ 哈希图数据结构来储存数据使用FileInputStream进行文件输入,使用FileOutputStream进行文件输出数据写入,使用ObjectInputStream对学生对象信息输入,使用ObjectOutputStream进行信息输出,并与存储学生信息的文档关联。建立ha1来储存数据。考虑到学生性别信息的选择,使用单选按钮,使用JRadioButton形成单选按钮,使用ButtonGroup展示单选效果。分别建立comfire,reset按钮对所录入信息的确定和重置。当录入学生信息时,还需考虑到异常情况,当输入已经存在的学生学号时,给予警告“该生信息已存在”。当没有输入学生的学号信息就选择comfire按钮录入学生信息时,给予警告“请输入学生学号”,提醒输入。在具体设计过程中,首先,学生基本信息文本条、按钮、按钮组、文件列表、区域的创建和初始化;然后创建构造方法,实现以上信息和组件的实体化,然后将按钮添加到按钮组,并创建容器,将学生基本信息添加到各个容器内,接下来再创建一个容器,将基本信息的各个容器添加到这个容器中,即实现从上到下的的排列,新建面板,将容器添加到面板中,设置布局格式;第三步实现接口监听,创建监听方法,分为录入学生信息和重置学生信息模块,单击录入学生信息按钮,实现录入学生信息事件的监听,若学生信息系统里已录入该学生信息,则弹出警告,表示该生信息已存在,若学生信息系统里不存在该生信息,则新的学生信息将被录入,单击重置按钮,则文本区域为空,否则,不进行事件的监听。以上即实现学生基本信息模块的基本功能实现。4.4 修改功能if (ha1.containsKey(nu) confirm.setEnabled(true);Stu = (Student) ha1.get(nu);name.setText(Stu.getname();birth.setText(Stu.getbirth();department.setText(Stu.getdepartment();grade.setText(Stu.getgrade();if (Stu.getsex().equals(男) male.setSelected(true); else female.setSelected(true); else String warning = 没有该学生的信息;JOptionPane.showMessageDialog(this, warning, 出错了,JOptionPane.WARNING_MESSAGE);number.setText(null);name.setText(null);birth.setText(null);department.setText(null);grade.setText(null);else / find.setEnabled(false);String warning = 必须输入学号;JOptionPane.showMessageDialog(this, warning, 出错了,JOptionPane.WARNING_MESSAGE);视图和输入界面类似,建立盒子模型用于存放新的学生学籍信息覆盖原来的学生学籍信息。对于没有输入学生学号而进行修改信息的情况,给予“必须输入学号”的警告,如果输入的学号查找成功,文件读取数据输出,是新的信息覆盖。如果没有此学生信息也必须给出警告。该模块设计流程如下:首先,变量、组件的创建和初始化(主要包括学生基本信息文本条,按钮、按钮组、文件列表、区域的创建);然后,创建构造方法,实体化变量和组件,将按钮添加到按钮组,并创建容器,将学生基本信息添加到各个容器中,接下来新建面板,将容器添加到面板中,这是布局格式;最后,实现接口监听,创建监听方法,包括重置和判断要修改的学生信息的学号是否输入,若已经输入学号,则点击录入修改按钮,实现录入修改事件的监听,对学生基本信息进行修改,否则弹出警告对话框,必须输入学生学号,这里在对学生基本信息进行修改部分,若学生信息系统列表中无需要修改的学生信息,则弹出警告,告知没有该学号,若存在有需要修改的学生信息,才弹出对话框对学生信息进行修改,对学生基本信息修改好后,需存入原来的位置。若不需要对学生基本信息进行修改,可选择“重置”按钮。从而实现对学生信息模块的修改功能。4.5 查找功能catch (Exception e1) if (ha1.containsKey(nu) Stu = (Student) ha1.get(nu);name.setText(Stu.getname();birth.setText(Stu.getbirth();department.setText(Stu.getgrade(); grade.setText(Stu.getgrade(); if (Stu.getsex().equals(男) male.setSelected(true); else female.setSelected(true);/ if(ha1)else String warning = 该学生不存在!;JOptionPane.showMessageDialog(this, warning, 结果, JOptionPane.WARNING_MESSAGE);else String warning = 请输入学号;JOptionPane.showMessageDialog(this, warning, 出错了,JOptionPane.WARNING_MESSAGE);else if (e.getSource() = reset) number.setText(null);name.setText(null);birth.setText(null);department.setText(null);grade.setText(null);关于查找功能,主要就是文件数据输入和输出,读取File中的学生学籍的信息,对于异常情况的警告,则和其它情况类似。该模块在具体设计过程中,其设计流程如下:首先,变量组件的创建和初始化;然后,创建构造方法,这里必须注意,由于查询窗口为弹出式对话框,因此这里创建无模式对话框,实现学生基本信息和组件的实体化,然后将按钮添加到按钮组,并创建容器,将学生基本信息添加到各个容器内,接下来新建面板,将以上容器按钮添加到面板中,并设置布局格式,以上步骤完成之后,添加关闭窗口的方法;第三步实现接口监听,创建监听方法,首先判断需要查询的学生信息的学号是否输入,若学号未输入,则必须先输入学号,学号输入以后,单击查询按钮,执行查询事件,然后到学生信息系统列表里读取学生对象,若学生信息存在,则显示学生基本信息,若不存在,则弹出警告,表示学生信息不存在。4.6 删除功能int ok = JOptionPane.showConfirmDialog(this, m, 确认, JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if (ok = JOptionPane.YES_OPTION) ha1.remove(nu);try fou = new FileOutputStream(fi1);oou = new ObjectOutputStream(fou);oou.writeObject(ha1);oou.close();fou.close();number.setText(null);name.setText(null);birth.setText(null);department.setText(null);grade.setText(null); catch (Exception e1) confirm.setEnabled(false); else if (ok = JOptionPane.NO_OPTION) number.setText(null);name.setText(null);birth.setText(null);department.setText(null);birth.setText(null);else if (e.getSource() = reset) number.setText(null);name.setText(null);birth.setText(null);department.setText(null);grade.setText(null);对于删除功能使用FileInputStream fin: 文件输入流;FileOutputStream fou: 文件输出流写入数据;ObjectInputStream oin: 对象输入流;ObjectOutputStream oou: 对象输出流。使得对应学号的File中的的学生学籍信息制空。如果查找不到对应学号或没有输入学号则输出警告。该模块设计流程如下:首先,变量、组件的差ungjainhe初始化;然后创建构造方法,实体化变量和组件,将按钮添加到按钮组,创建容器,将学生基本信息添加到各个容器中,新建面板,并将容器添加到面板中,设置布局格式;第三步,实现接口监听,创建删除学生信息的监听方法,首先判断需要删除的学生信息的学号是否输入,若未输入学号,则先输入学号,确定输入学号以后,到系统文件列表中读取学生信息,判断该生信息是否存在,若不存在,则弹出警告表示该生不存在,若存在该生信息,则对学生信息进行删除操作。第五章 测试与调试5.1 主界面例图2主界面主要就是菜单及菜单选项的建立,以及文字布局方面,如上例图2。5.2 输入界面例图3输入的学生学籍信息的都将被存放在fin1里,以便修改查找功能的使用,如上例图3。对于学号没有输入时要给予警告,当点击重置按钮时,所有已经填写的内容都将被清除掉。5.3 修改界面例图4没有该学号学生信息时,给予警告,当不输入学号就进行修改功能时,也会弹出警告,如上例图4。5.4 查找界面例图5查询功能主要是对文件的读取和数据的输出,如上例图5。5.5 删除界面例图6删除功能是删除Fil1里的所对应学号的学生信息,如上例图6。第六章 设计体会与小结课程设计是培养学生综合运用所学知识发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。参考文献1丁振凡,薛清华 著.Java语言程序设计M. 北京:清华大学出版社.2010.10.2丁振凡,李宪伟 著.Java语言与习题解答M.北京:清华大学出版社.2010.10.3 龚永罡,陈昕 著.Java程序设计M.北京:清华大学出版社.2009.4 刘兆宏,郑莉,陈建,罗频捷 著.Java语言程序设计案例教程M.北京:清华大学出版社.2008.5 王舜燕,钟珞 著.Java编程方法学M.北京:北京邮电大学出版社.2008.6(美)Cay S.Horstmann、Gary Cornell(叶乃文、邝劲筠 等译)著.JAVA2 核心技术卷(第七版)M.北京:机械工业出版社.2006.7付京周等编,精通HibernateJaVa数据库持久层开发实践人民邮电出版社,200758张孝祥深入体验Java Web开发内幕一核心基础北京:电子工业出版社,20069何志坚医药企业营销财务管理实战宝典海洋出版社,200210眭碧霞李春华张伟ASPNET程序设计与开发西安电子科技大学出版社11王勇、盖江南、尚红听译,ASPNET宝典北京:电子工业出版社,200212万江平软件工程M北京:交通大学出版社,2006致 谢这次的课程设计,都是由自己独立完成所选的课题,不过还是得到了来自很多方面的帮助。在此首先要感谢学院提供给我这次实践的机会,让我们有机会贴近现实,感受成功的喜悦;其次要感谢实验机房的老师提供优良的实验设备供我们做课程设计,正是这种良好的课程设计的环境让我们整个课程设计过程心情都非常愉快。再次要感谢周辉奎老师的辛勤指导,每当我们遇到疑难问题时,是他一次次不厌其烦地解释和悉心地指导,我们才能闯过一个个难关,到达胜利的彼岸,是他给我们提供了一次宝贵的检验自己的机会。最后也要感谢同学们的帮助,有了他们的帮助使我遇到任何困难都觉得不是一个人在战斗。感谢所有在课程设计过程中帮助过我的人!附录1.Stuaccess.javapackage student;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class Stuaccess extends JFrame implements ActionListener Container con;JMenuBar Jbar;JMenu menuj;JMenuItem input, change, search, delete;/ 四项功能输入,修改,查找,删除JLabel lab1;JPanel JCenter;File fi1;Hashtable ha1;input intinfo;change chginfo;search schinfo;delete delinfo;public Stuaccess() super(南昌工学院学籍管理系统);con = getContentPane();con.setLayout(new BorderLayout();ha1 = new Hashtable();fi1 = new File(学生的学籍信息.txt);if (!fi1.exists() try FileOutputStream out = new FileOutputStream(fi1);ObjectOutputStream objectOut = new ObjectOutputStream(out);objectOut.writeObject(ha1);objectOut.close();out.close();/ trycatch (IOException e) / ifthis.input = new JMenuItem(输入学生的信息);this.change = new JMenuItem(修改学生的信息);this.search = new JMenuItem(查找学生的信息);this.delete = new JMenuItem(删除学生的信息);Jbar = new JMenuBar();menuj = new JMenu(功能);menuj.add(input);menuj.add(change);menuj.add(search);menuj.add(delete);Jbar.add(menuj);setJMenuBar(Jbar);lab1 = new JLabel(欢迎进入南昌工学院学籍管理系统, JLabel.CENTER);lab1.setFont(new Font(隶书, Font.BOLD, 60);lab1.setForeground(Color.green);add(lab1,BorderLayout.CENTER);setBounds(100,100,500,400);input.addActionListener(this);change.addActionListener(this);search.addActionListener(this);delete.addActionListener(this);intinfo = new input(fi1);chginfo = new change(fi1);delinfo = new delete(fi1);schinfo = new search(fi1);/con.setVisible(true);con.validate();setVisible(true);setSize(500, 400);con.validate();public void actionPerformed(ActionEvent e) if (e.getSource() = input) intinfo.setVisible(true);chginfo.setVisible(false);delinfo.setVisible(false);schinfo.setVisible(false); else if (e.getSource() = search) intinfo.setVisible(false);chginfo.setVisible(false);delinfo.setVisible(false);schinfo.setVisible(true);else if(e.getSource()=change)intinfo.setVisible(false);chginfo.setVisible(true);delinfo.setVisible(false);schinfo.setVisible(false);else if(e.getSource()=delete)intinfo.setVisible(false);chginfo.setVisible(false);delinfo.setVisible(true);schinfo.setVisible(false);public static void main(String args) new Stuaccess();2.Student.javapackage student;public class Student implements java.io.SerializableString name;String number;String department;String sex;String birth;String grade;public Student()public void setname(String name) =name;public String getname()return ;public void setnumber(String number) this.number=number;public String getnumber()return this.number;public void setdepartment(String department) this.department=department;public String getdepartment() return this.department;public void setsex(String sex) this.sex=sex;public String getsex() return this.sex;public void setbirth(String birth) this.birth=birth;public String getbirth() return this.birth;public void setgrade(String grade) this.grade=grade;public String getgrade() return this.grade;3.input.javapackage student;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.Hashtable;public class input extends JFrame implements ActionListener JTextField name, number, birth, grade, department;/ 学生的信息项。JRadioButton male, female;/ 单选按钮Student Stu;ButtonGroup group;/ 形成单选效果JButton confirm, reset;File fi1;FileInputStream fin;/ 文件输入流FileOutputStream fou;/ 文件输出流写入数据ObjectInputStream oin;/ 对象输入流ObjectOutputStream oou;/ 对象输出流Hashtable ha1;/ 哈希图数据结构来储存数据public input(File file) super(输入界面);this.fi1 = file;name = new JTextField(10);number = new JTextField(10);birth = new JTextField(10);grade = new JTextField(10);department = new JTextField(10);group = new ButtonGroup();male = new JRadioButton(男, true);female = new JRadioButton(女, false);group.add(male);group.add(female);confirm = new JButton(录入);reset = ne

温馨提示

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

评论

0/150

提交评论