ImageVerifierCode 换一换
格式:DOC , 页数:46 ,大小:2.14MB ,
资源ID:4945017      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4945017.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(毕业设计论文-基于JAVA的图书管理系统的设计与实现.doc)为本站上传会员【快乐****生活】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

毕业设计论文-基于JAVA的图书管理系统的设计与实现.doc

1、 摘 要在以信息技术为核心的时代,任何管理工作都离不开信息技术的帮助。如今的图书为了满足人们日益增长的精神文化需求,图书的种类和数量成倍的增加,图书的借阅工作日益频繁。因此,这就需要一个行之有效的图书管理系统来帮助图书馆工作人员更加方便、准确的管理图书的借阅工作。本系统的主要任务就是对图书、读者、借阅信息、查询进行统一管理,满足各类用户的需求。该系统的主要研究内容包括前台应用程序的开发以及后台数据库的建立和管理,对于前者要求应用程序功能的完备、易用。对于后者则要求建立数据的一致性和完整性。基于上述考虑,本系统是基于JAVA语言进行开发的,本系统利用Eclipse作为前端的应用开发工具,利用SQ

2、L Server 2005作为后台的数据库,通过对管理系统模块的研究,提出构造图书信息管理系统的方法,结合其它图书管理业务方面的常识,建立相关数据模型,利用面向对象开发工具对其进行设计与开发,使系统有良好的性能和较高的处理效率。关键词:图书管理系统;数据库;面向对象AbstractIn the era of information technology as the core, any management work rely heavily on information technology to help. Now, in order to satisfy the library spir

3、it culture of people growing demand, the amount and type of books and books have multiplied the uses of the borrowing work increasingly frequent. Therefore, it needs to be an effective books management system management system to help the people who work in libraries is more convenient and accurate

4、management work of the library borrowing. The systems main task is to readers, borrowing books, information query, unified management, and satisfy the needs of the users. This system includes main research and development foreground application of backstage supporters database for the establishment

5、and management of the application requirements, complete functions, easy-to-use, etc. For the latter requires establishing consistency and integrality of data based on the consideration, this system is based on a JAVA language development, this system using the Eclipse as front application developme

6、nt tool that uses SQL Server 2005 as a background, based on the database management system structure, puts forward the module of the library management information system, and by using the method of knowledge, combined with other books management business sense, establish relevant data model, using

7、object-oriented development tool to design and development, make the system has good performance and high efficiency.Key words: The books management system management system;Database;Object-oriented目 录摘要IAbstractII第1章 绪论11.1 课题背景11.2 国内外现状11.3 本系统的主要研究内容11.4 本系统的主要特点2第2章 需求分析32.1 需求分析32.2系统目标32.3系统设

8、计32.3.1 系统的功能结构42.3.2 系统的执行流程图5第3章 系统的数据库设计63.1 数据库分析63.2 数据库需求分析73.3 数据库概念结构设计73.3.1 图书信息实体83.3.2 读者信息实体83.3.3 图书借阅信息实体83.3.4 图书分类实体93.3.5 图书订购实体93.3.6 操作员信息实体93.3.7 库存信息实体103.4 数据库逻辑结构设计10第4章 系统的详细设计与测试134.1 公共模块设计134.1.1 数据库的链接及操作类的编写134.1.2 MenuActions类的编写134.1.3 限制文本框长度类的编写144.1.4 描述组合框索引与内容类的编

9、写154.1.5 在JLable上添加图片类的编写154.2主窗口的设计154.2.1 主窗体概述154.2.2 主窗体技术分析164.2.3 主窗体的实现过程174.3 系统登录模块设计174.3.1 系统登录模块概述174.3.2 系统登录模块技术分析184.3.3 登陆模块实现过程184.4 图书信息管理模块设计194.4.1 图书信息管理模块概述194.4.2 图书信息管理模块技术分析214.4.3 图书信息管理模块实现过程214.4.4 单元测试224.5 图书借阅、归还模块设计224.5.1 图书借阅、归还模块概述224.5.2 图书借阅、归还模块技术分析244.5.3 图书借阅、

10、归还模块的实现过程244.5.4 单元测试254.6 图书查询模块设计264.6.1 图书查询模块概述264.6.2 图书查询模块技术分析264.6.3 图书查询模块实现过程274.7 格式化的文本框274.7.1 使用JFormattedTextField限制整数输入284.7.2 使用JFormattedTextField限制日期输入28结论29参考文献30附录31致谢41IV齐齐哈尔大学毕业设计(论文)第1章 绪 论1.1 课题背景在我国信息化管理系统近年来日趋成熟,在采用计算机技术进行管理之前,图书的图书借阅工作是非常繁琐和复杂的。图书的借阅工作完全依赖于手工操作,不但费时费力而且还经

11、常容易出错。读者在借书的时候首先要有一个借书证,工作人员把读者要借的书的信息卡与读者的借书证放到一起,并且在借书证上填写借阅信息,这就是手工操作时代的借书过程1。这样的借阅工作显而易见,效率非常低,由于工作量大所以数据不但容易丢失,且非常容易出错。总的来说,缺乏系统、规范的信息管理手段。利用计算机来处理这些流程无疑会极大程度地提高效率和处理能力。读者排队时间大大降低,读者可以花更多的时间在选择书和看书上。而且近年来,随着图书馆的规模逐渐扩大,图书数量也相应的大量增加,有关的图书的各种信息成倍增长。面对如此庞大的信息量,需要一套合理、有效、规范的图书管理系统,对图书资料进行统一、集中的管理。使用

12、本程序之后,工作人员可以查询某位读者、某种图书的借阅情况,还可以对当前图书借阅情况进行一些统计,以便全面掌握图书的流通情况2。1.2 国内外现状信息技术的发展为图书馆的发展创造了良好的信息环境,目前社会上信息管理系统发展飞速,越来越多企事业单位引入了信息管理系统来管理信息,各大高校也相继采用了图书管理系统管理图书,取得很大的成效。国外的图书馆自动化系统是随着计算机技术发展而发展的3。并且较早实现了商品化,出现了不少知名公司,例如:美国的INNOPAC、SIRSI、及澳大利亚的HORIZON等,它们的产品技术开发已经很成熟,而国内的发展相对较晚,系统稳定性和安全性存在差距。但国内系统开发吸收了国

13、外经验和技术,在中文书刊信息处理方面有很大优势,在技术方面,差距不明显。虽然国内起点晚,但也采用了流行的开发工具,如JAVA,VB,PB等4。1.3 本系统的主要研究内容本系统应用软件工程的设计思想,按照系统的开发流程完成了一个完整的图书管理系统6。同时,在程序的开发过程中,界面开发方面采用了Swing机制 ,Swing是一个用于开发Java应用程序用户界面的开发工具包。它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面,使整个系统的设计思路更加清晰。数据库方面,使

14、用SQL Server 2005,通过Java的JDBC实现连接,JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,可以满足日常中小型规模的数据处理要求。1.4 本系统的主要特点参考一些典型图书管理系统的设计模式,从读者与图书管理员的角度出发,本着以读者借阅图书快捷、方便的原则,要求本系统应具有

15、以下特点:1. 具有良好的系统性能,友好的用户界面;2. 较高的处理效率,便于使用和维护;3. 采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期;4. 系统尽可能简化图书管理员的重复工作,提高工作质量;5. 简化数据查询和统计难度。第2章 需求分析2.1 需求分析在现在信息管理系统尤为重要的时代,图书管理系统是图书馆管理工作中不可缺少的部分,对于图书馆的管理者和使用者来说都非常重要。但长期以来,人们使用传统的手工方式或性能较低的图书系统管理图书馆的日常事务,操作流程比较繁琐,效率相当低4。而一个成功的图书管理系统应提供快速的图书信息检索功能、快捷的图书借阅、归还流程,为管理者与读者提

16、供充足的信息和快捷的数据处理手段。2.2 系统目标根据需求分析的要求,本系统应达到以下目标:1. 界面设计友好、美观;2. 数据存储安全、可靠;3. 信息分类清晰、准确;4. 强大的查询功能,保证数据查询的灵活性;5. 操作简单易行、界面清晰大方;6. 系统安全、稳定;7. 开发技术先进、功能完备、扩张性强;8. 占用资源少、对硬件要求低;9. 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。2.3 系统设计图书管理系统分为4大功能模块,分别为“基础数据维护”、“图书借阅管理”、“新书管理”和“系统维护”。2.3.1 系统的功能结构图书管理基础数据维护图书借阅管理新书订阅管理系统维护读

17、者信息管理图书信息管理图书类别管理图书还书管理图书查询图书借书管理用户管理更改密码新书订购验收新书图2-1 系统功能结构图2.3.2 系统的执行流程图管理员图书管理系统管理员登陆基础数据维护读者信息管理读者添加读者相关信息图书类别管理读者修改删除图书类别添加类别修改图书类别信息图书信息管理图书添加图书修改图书借阅管理图书归还图书借阅图书查询图书相关信息图书管理系统新书订阅管理新书订阅验收新书订购相关信息图书相关信息系统维护管理更改密码用户管理添加用户用户修改删除操作员信息读者图2-2 系统流程图第3章 系统的数据库设计数据库的设计关系到整个软件的成败。当今的企业信息管理系统都是通过数据库来存储

18、信息的,因此数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计不仅可以提高数据存储的效率,保证数据的完整性和一致性,还能增加系统的灵活性。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。在数据库建立过程中,要注重数据库与系统整体目标的一致性,使他们既相互独立又有紧密联系。用户与数据库接口之间是灵活与友好的,数据库的设计也要简单易行和便于理解。3.1 数据库分析现在主流的数据库主要有Access、SQL Server、Orac

19、le等7。Access是一种桌面数据库,只适合数据量少的应用,在处理少量数据和单机访问的数据库时是很好的,效率也很高。但是它的同时访问客户端不能多于4个。Access数据库有一定的极限,如果数据达到100M左右,很容易造成服务器的假死,或者消耗掉服务器的内存导致服务器崩溃。因为本系统要求大量的用户访问以及大量的数据量,因此Access数据库并不适用本系统。Oracle数据库支持多实例,处理数据效率高,而且是多平台的,在安全性和稳定性方面都不错,但是与SQL Server数据库相比,它的价格却高出很多,而且不易于操作,SQL Server界面直观,易于维护,并且SQL Server是微软公司开发

20、的,因此会对Windows平台的兼容性及结合性会更加友好。由于本系统在Windows平台下开发,因此比Oracle更加适合。考虑到本系统的稳定性与可靠性以及开发程序与用户需求,决定设计该系统的时候选择SQL Server 2005数据库来满足系统的需求。SQL Server 2005具有很强的完整性和可伸缩性,具有较高的性价比。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个阶段8:1. 需求分析阶段进行数据库设计首先必须准确了解与分析用户需求(包括数据和处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为基本的

21、需求分析是否做得充分与准确,决定了在其上构建数据的速度与质量。需求分析做得不好,甚至会导致整个数据库设计返工重做。2. 概念结构设计阶段概念结构设计是整个数据设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。3. 逻辑结构设计阶段逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并对齐进行优化。4. 物理设计阶段物理设计是为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。5. 数据库实施阶段在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用

22、程序,组织数据入库,并进行试运行。3.2 数据库需求分析用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出9。收集基本数据,组成一份详尽的数据字典,为后面的详细设计打下基础。针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:读者信息包括:字段ID号、登录用户名、登录密码、用户类型;图书信息包括:图书名称、出版社名称、图书作者姓名、出版日期、价格、拥有该书的册数;图书借阅与归还包括:借阅者姓名、借阅图书名称、借书日期、还书日期、图书是否归还;3.3 数据库概念结构设计根据以上对系统所作

23、的需求分析、系统设计,规划出本系统中使用的数据库实体分别为图书信息实体、图书类别实体、图书订购实体、读者信息实体、操作员信息实体、图书借阅信息实体、库存信息实体。其中图书信息实体与图书订购实体、图书分类实体、图书订购实体、图书借阅信息实体、库存信息实体都有关系,而读者信息实体与图书借阅信息实体同样具有关系。下面将介绍几个关键实体的E-R图。3.3.1 图书信息实体图书信息实体包括图书编号、图书类别编号、书名、作者、译者、出版社、价格、出版时间等属性。其中,图书编号为图书信息实体的主键,图书类别编号为图书信息实体的外键,与图书类别实体具有外键关系。图书信息实体的E-R图如图3-1所示。图书编号出

24、版时间书名作者类别编号出版社译者价格图3-1 图书信息实体E-R图3.3.2 读者信息实体读者信息实体包括条形码、姓名、性别、年龄、电话、押金、生日、职业、证件类型、办证日期、最大借书数量、证件号码等属性。读者条形码作为本实体的唯一标识。其中,在性别属性标识信息中,“1”代表此读者为男性,“2”代表此读者为女性;最大借书数量属性设置默认值为3;而在证件属性标识信息中,“0”代表身份证,“1”代表军人证,“2”代表学生证,“3”代表工作证。读者信息实体的E-R图如图3-2所示。职业读者姓名最大借书数量年龄电话性别办证日期证件类型证件号码押金生日条形码图3-2 读者信息实体E-R图3.3.3 图书

25、借阅信息实体图书借阅信息实体包括编号、图书编号、读者编号、操作员编号、是否归还、借阅日期、归还日期等属性。编号作为图书借阅信息实体的唯一标识,它包括两个外键,分别为图书编号与读者编号,图书借阅信息实体以这两个外键与图书信息实体、读者信息实体建立了关系。图书借阅信息实体的E-R图如图3-3所示。图书借阅编号归还日期操作员编号图书编号读者编号借阅日期是否归还图3-3 图书借阅信息实体E-R图3.3.4 图书分类实体图书分类实体包括编号、类别名称等属性。图书分类实体与图书信息实体以图书类别编号建立了关系。图书分类实体的E-R图如图3-4所示。图书分类编号罚款金额类别名称可借天数图3-4 图书分类实体

26、E-R图3.3.5 图书订购实体图书订购实体主要包括图书编号、订购日期、订购数量、操作员、是否验收和折扣等属性。图书订购实体以图书编号与图书信息实体建立了关系。图书订购实体的E-R图如图3-5所示。图书订购订购日期是否验收订购数量图书编号折扣操作员图3-5 图书订购实体E-R图3.3.6 操作员信息实体操作员信息实体主要包括编号、姓名、性别、年龄、身份证号、工作日期、电话、是否为管理员和密码等属性。其中,性别属性信息中“1”代表男性,“2”代表女性;是否为管理员属性信息中“0”代表当前用户不是管理员,“1”代表当前用户是管理员。操作员信息实体的E-R图如图3-6所示。操作员编号是否为管理员性别

27、年龄姓名工作日期密码身份证号电话图3-6 操作员信息实体E-R图3.3.7 库存信息实体库存信息实体主要包括编号、库存数量等属性。库存信息实体以库存编号与图书信息实体建立了关系。库存信息实体的E-R图如图3-7所示。图书订购编号库存信息图3-7 库存信息实体E-R图3.4 数据库逻辑结构设计1. 图书信息表如图3-8所示:图3-8 图书信息表2. 读者信息表如图3-9所示:图3-9 读者信息表3. 图书借阅信息表如图3-10所示:图3-10 图书借阅信息表4. 图书分类信息表如图3-11所示:图3-11 图书分类信息表5. 图书订购表如图3-12所示:图3-12 图书订购信息表6. 操作员信息

28、表如图3-13所示:图3-13 操作员信息表7. 库存信息表如图3-14所示:图3-14 库存信息表第4章 系统的详细设计与测试4.1 公共模块设计在开发过程中,经常会用到一些公共模块,如数据库连接及操作的类、限制文本框输入长度的类以及描述组合框索引与内容的类等,因此,在开发系统前首先需要设计这些公共模块。下面将具体介绍图书管理系统中公共模块的数据过程。4.1.1 数据库的链接及操作类的编写数据库连接及操作类通常包括连接数据库的方法getConnection()、执行查询语句的方法executeQuery()、执行更新操作的方法executeUpdate()、关闭数据库链接的方法close()

29、。下面将详细介绍如何编写图书管理系统中的数据库连接及操作的类Dao.java。步骤如下:1. 指定类dao.java保存的包,并导入所需的包,本例将其保存到com.wsy.dao包中。2. 在dao.java类的构造方法中创建数据库连接操作。在此类中首先定义数据库连接驱动包名、数据库连接路径、数据库连接用户名、密码等静态变量,然后在构造函数中实现数据库连接操作。在数据库连接代码中需要添加trycatch关键字,捕捉数据库连接时可能抛出的异常。3. 创建执行查询语句的方法executeQuery(),其返回值为ResultSet()结果集。首先需要初始化Dao对象,调用构造函数,从而获取数据库连

30、接。有一点值得注意,就是在创建数据库连接之前首先判断数据库连接是否为空,如果为空再创建数据库连接,避免造成程序资源的浪费。4. 创建执行更新操作的方法executeUpdate(),它的返回值为int型的整数,此返回值代表数据表更新操作是否成功,返回值为1代表成功,返回值为-1代表没有成功。5. 为了避免运行程序时资源的浪费,优化项目运行速度,需要在完成数据库操作后,关闭数据库连接,所以在Dao.java类中创建了关闭数据库连接的方法close()。为了使数据库连接在程序结束后确定会被关闭,在close()方法中加入了finally()字段,在finally块中将数据库连接置空。4.1.2 M

31、enuActions类的编写通常激活同一个命令有多种方法,用户可以通过工具栏中按钮、菜单选择特定的功能。在本系统中,最常用的命令就是弹出内部窗体,将本系统中需要弹出的内部窗体命令统一放入MenuActions类中,主要触发任何一种组件事件时,都会按照统一的方式处理10。Swing包提供了一个非常有用的机制,用来封装命令,并将其连接到多个事件源,这种机制就是Action接口。Action接口有如下方法:1. puclic void actionPerformed(ActionEvent e)2. public Object getValue(String key)3. public void p

32、utValue(String key, Object value)4. public boolean isEnabled()5. public void setEnabled(boolean b)6. public void addPropertyChangeListener(PropertyChangeListener listener)7. public void removePropertyChangeListener(PropertyChangeListener lsn)其中第一个方法用来实现ActionListener的接口程序,实际上Action接口扩展了ActionListene

33、r接口。getValue()与putValue()方法用来存储与提取动作对象的预定义名称与值。下表列举了几种常用的动作对象的预定义名称。表4.1 动作对象表名 称值NAME名称,显示在按钮或菜单上SMAIL_ICON小图标,显示在按钮或菜单上SHORT_DESCRIPTION简单提示说明,当鼠标放在按钮或菜单上出现提示LONG_DESCRIPTION详细提示说明setEnabled()方法用于开启或禁止动作对象,isEnabled()方法用于检查动作是否启用。实现Action接口需要将接口中的所有方法都实现,所以在通常情况下都是使用实现该接口的AbstractAction类,本系统中的Menu

34、Actions类继承了AbstractAction类,在MenuActions类中只要重写AbstractAction类中的actionPerformed()方法。在系统中的“更改密码”菜单项采用了MenuActions类的编写。在MenuActions类中创建一个内部类,这个内部类用于创建菜单栏中“更改密码”菜单项的动作对象,在此类的构造函数中创建组件的提示组件提示说明,在actionPerformed()方法执行“更改密码”窗体的弹出操作。将此内部类的对象作为MenuActions类的成员变量,然后再使用static定义一个静态区域进行初始化。类在被加载时,首先执行static定义的静态区

35、域内部的代码,且只会被执行一次。同理,菜单栏中其他菜单项与子菜单中的菜单项也是以相同方式被封装到MenuActions类中。4.1.3 限制文本框长度类的编写在Swing语句创建的窗体中,当JTxetField组件创建时,可以指定文本框的宽度。但当JTextField的构造器中设定的宽度并不是用户能输入的字符个数上限,用户可以在文本框中输入一个更长的字符串,此时需要限制用户输入字符串的长度,故创建了限制文本框输入长度的类MyDocument.java。创建此类的具体步骤如下:1. 创建MyDocument.java类,此类继承PlainDocument类。2. 在MyDocument.java

36、类中创建两个构造函数,其中一个是有参数的,另一个是无参数的。3. 重载父类方法inserStrng(),在此方法中限定文本框允许输入字符串长度。4.1.4 描述组合框索引与内容类的编写在程序编写的过程中,经常会遇到组合框组件的应用。有时要在窗体的组合框中显示具体内容,通常需要在数据库中存储此组合框的索引值,这时便需要使用一种数据结构将组合框中的内容与索引值联系在一起。Java.util.Map形式是比较好的选择,可以使用Map接口中的put()方法将索引值与具体内容放入集合中,当得到索引值时获取具体内容可以使用Map接口中的get(key)方法。描述组合框索引与内容类的编写步骤如下:1. 创建

37、组合框组件的索引值与其所对应的内容的Item.java类,这个类中不仅包含代表组合框索引的成员变量id和代表组合框内容的成员变量name,还包括着两个成员变量的setXXX()、getXXX()方法。2. 创建MapPz.java类,使用Map关联组合框的索引与组合框的具体内容。这里以图书类别编号与图书类别创建组合框为例,首先在此类中初始化Map集合,获取图书类别相关内容,将图书类别相关内容放入Item类中;然后将图书类别编号与图书类别名称放入Map集合中,可以使用put()方法;最后返回类型为Map的集合。4.1.5 在JLable上添加图片类的编写为了美化窗体,通常需要在窗体上添加图片。一

38、般情况下使用如方式下添加图片:1. 在窗体上添加JPanel2. 在JPanel上添加JLable3. 将图片初始化为ImageIcon对象4. 使用JLable.setIcon(ImageIcon)代码实现在窗体上添加图片功能将上述操作封装在公共类中,命名为CreatecdIcon.java类,在此类中定义一个返回ImageIcon类对象的方法,此方法以当前图片的文件名称为参数初始化一个ImageIcon类对象。4.2 主窗体的设计4.2.1 主窗体概述管理员通过“系统登录”模块的验证后,可以登录到图书管理系统的主窗体。系统主窗体主要包括菜单栏、工具栏。用户在菜单栏中单击任一菜单栏执行相应的

39、功能;工具栏为用户提供了经常使用的功能按钮。图4-1 主窗体界面图4.2.2 主窗体技术分析系统主窗体主要包括菜单栏与工具栏。单击窗体顶端的菜单栏中的某一菜单项,可以打开下拉菜单,其中包含菜单项与子菜单项。当用户单击下拉菜单中某一菜单项时,窗体中所有的菜单都会被关闭。在主窗体的设计中,需要创建菜单栏与工具栏,此时用到了JMenuBar类与JToolBar类来创建菜单栏和工具栏。1. 菜单栏的创建比较简单,使用JMenuBar的构造函数初始化菜单栏,对于每个菜单,需要创建一个对象,就是菜单项名称,最后将顶层菜单添加到菜单栏中,可以使用JMenuBar类的add()方法进行添加。在顶层菜单中添加菜

40、单项、分隔符与子菜单。其中菜单项可以使用JMenuItem类的构造函数进行初始化,然后使用JMenuBar类的add()方法进行添加;分隔符可以使用JMenuBar类的addSeparator()方法进行添加11;子菜单栏实质上也是一个菜单栏,与顶层菜单栏创建方式相同,可以使用JMenuBar类的add()方法将子菜单项添加到顶层菜单中。当用户选择一个菜单时,会引发一个动作事件,需要为每个菜单项添加监听器,重写ActionListener接口中的actionPerformed()方法,在此方法中为菜单栏添加业务逻辑。通常情况下,菜单项触发命令通过实现Action接口。这里设计了公共类MenuA

41、ction.java,它继承了AbstractAction类,由于AbstractAction类实现了Action接口,所以继承AbstractAction类就等于实现了Action接口,因此这里使菜单栏添加MenuAction类对象。2. 主窗体中工具栏的创建也非常简单。工具栏为系统提供了迅速访问常用命令的一系列按钮。完成主窗体中工具栏的创建后同样需要添加MenuAction类对象实现工具栏事件,由于需要在工具栏中添加图标,所以将动作对象添加到按钮中,然后为按钮设置图标。4.2.3 主窗体的实现过程主窗体的实现过程如下:1. 创建Library类,在它的构造函数中设置主窗体相关属性,如窗体大

42、小、窗体标题等相关属性,还可以为窗体设置背景图片,并调用创建菜单栏与工具栏的方法,在主窗体中创建菜单栏与工具栏。2. 编写创建菜单栏方法,可以初始化JMenuBar类对象创建顶层菜单,并在顶层菜单上添加相关菜单项与子菜单,然后为菜单栏添加图标,为菜单栏添加图标可以使用图标可以使用JMenu类中的setIcon()方法进行添加。3. 编写创建工具栏的方法,创建工具栏可以使用JToolBar类,创建工具栏后将所有的图标添加至于工具栏中,可以为每个图标加提示。由于在创建MenuActions类时已经为每个内部窗体动作添加了提示信息,所以这里可以不为图标添加提示信息。4. 最后在Library.java类中的主函数中调用登陆窗体,如果登录成功,初始化Library.java对象;如果登录失败,则弹出提示对话框。4.3 系统登录模块设计4.3.1 系统登录模块概述登陆模块是

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服