收藏 分享(赏)

毕业设计(论文)-基于java的图书馆管理系统的设计与实现(全套源码).docx

上传人:QQ153893706 文档编号:2293062 上传时间:2018-09-09 格式:DOCX 页数:44 大小:9.47MB
下载 相关 举报
毕业设计(论文)-基于java的图书馆管理系统的设计与实现(全套源码).docx_第1页
第1页 / 共44页
毕业设计(论文)-基于java的图书馆管理系统的设计与实现(全套源码).docx_第2页
第2页 / 共44页
毕业设计(论文)-基于java的图书馆管理系统的设计与实现(全套源码).docx_第3页
第3页 / 共44页
毕业设计(论文)-基于java的图书馆管理系统的设计与实现(全套源码).docx_第4页
第4页 / 共44页
毕业设计(论文)-基于java的图书馆管理系统的设计与实现(全套源码).docx_第5页
第5页 / 共44页
点击查看更多>>
资源描述

1、基于 Java 的图书管理系统的设计与实现毕 业 设计题目 基于 java 的图书馆管理系统的设计与实现姓 名 学号 系(院)信息工程系 班级 P13 软件技术 2 班指导教师 职称 二 O 一五年十月七日基于 Java 的图书管理系统的设计与实现摘要随着计算机科学技术的飞速发展,随着我国经济发展和精神文化消费的提高,在全国各地,图书馆如雨后春笋。而现在我现在我国的各中小城市的图书馆的图书管理和借阅管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代,这就为该图书管理系统提供了市场需要。而图

2、书管理在现代社会是很热门的,最关切人民精神文化消费的行业,同时对图书管理和服务也提出了更高的要求,诸如书籍管理、借还书管理、用户管理等各种人性化的使用介面,使管理者和读者对图书馆中的书刊能更方便、更快捷、更满意地得到管理和服务。设计的实现主要应用了 Java 语言编写系统,以 MySql 作为数据库。本系统经过了多次测试,基本功能都已实现,完成了图书借阅所需要满足的要求。关键词:图书管理;借阅管理;设备管理;数据库;Java,MySQL全套源码加 153893706Based on JAVA books management system design and realizationAbstr

3、act: Along with the computer science technology rapid development, the enhancement which expends along with our country economy development and the energetic culture, in each place, library like mushroom growth.But now I now our countrys various small and medium-sized town and cities library books m

4、anagement and the borrowing management level also pauses in the paper medium foundation, such mechanism already could not adapt the time development, because it has wasted many manpower and the physical resource, in the information age this tradition management by the computer for the foundation inf

5、ormation administration center substitution, this has been provided inevitably for this books management system management system the market requirement.But the books management in the modern society is very popular, the kindest 基于 Java 的图书管理系统的设计与实现peoples energetic culture expends the profession,

6、simultaneously also proposed to the books management and the service a higher request, such as the books management, taking advantage of also the book management, the user management and so on each kind of user friendly use interface, causes the superintendent and in readers to library books and per

7、iodicals can more convenient, be under the management and the service quickly, satisfiedly.Key word:Books management; Borrowing management; Equipment management; Database基于 Java 的图书管理系统的设计与实现目录第一章 绪论 .11.1 本课题的研究背景 .11.2 国内外研究状况 .11.3 本课题的主要特点 .1第二章 需求分析 .22.1 需求分析 .22.2 系统目标 .22.3 可行性分析 .22.3.1 技术上

8、的可行性分析 .32.3.2 经济可行性 3第三章 系统概要设计 .43.1 功能设计 .43.2 模块设计 .43.3 系统数据库设计 .53.3.1 数据库树形结构图 53.3.2 图书信息 E-R 图 63.3.3 图书分类表 E-R 图 73.3.4 图书借阅表 E-R 图 73.3.5 操作员信息表 E-R 图 .83.3.6 图书订购信息表 E-R 图 .83.3.7 读者信息表 E-R 图 93.3.8 数据库逻辑设计 10第四章 系统的详细设计 .134.1 数据库的链接 .134.2 系统登录模块的实现 .154.3 主窗体的实现 .174.3 图书信息管理模块的实现 .18

9、4.4 图书借阅、归还模块的实现 .224.5 图书查询模块实现 .264.6 读者信息管理模块的实现 .294.7 新书订购与系统管理模块 .31第五章 图书管理系统测试 .345.1 系统实现环境 .345.2 系统模块测试 .345.2.1 登录模块测试 345.2.2 图书类别管理模块测试 355.2.3 图书信息管理模块测试 355.2.4 读者信息管理模块测试 365.2.5 图书借阅管理模块测试 365.2.6 系统维护模块测试 36第六章 总结 .37致谢 38基于 Java 的图书管理系统的设计与实现参考文献 .39基于 Java 的图书管理系统的设计与实现1第一章 绪论1.

10、1 本课题的研究背景很多高校都拥有图书馆,图书馆可以为全校师生提供一个阅读,学习的空间。近年来,随着生源不断增大,图书馆的规模也随之扩大,图书数量也相应地大量增加,有关图书馆各种信息成倍增加。面对如此庞大的信息量,校领导决定使用一套合理,有效,规范,实用的图书馆管理系统,对校内图书资料进行统一,集中的管理。本系统将会涉及到图书馆日常管理工作的基本常见细节,诸如新图书的入库登记,图书馆所有书籍的分类管理,图书的查询,图书的借阅、退还手续的登记,费旧图书的清理撤除等,本系统所要实现的这些功能基本上涵盖了图书馆的日常管理工作,基本能够满足校园图书馆的工作人员的管理需要。1.2 国内外研究状况信息技术

11、的发展为图书馆的发展创造了良好的信息环境,目前社会上信息管理系统发展飞速,越来越多企业事业单位引入了信息管理系统信息,各大高校也相继采用了图书管理系统管理图书,取得了很大的成效。国外的图书馆自动化系统是随着计算机技术发展而发展的。并且较早实现了商品化,出现了不少知名公司,例如:美国的INNOPAC、SIRSI 、及澳大利亚的 HORIZON 等,它们的产品开发技术开发已经很成熟,而国内的发展相对比较晚,系统稳定性的安全性存在差距。但国内系统开发吸收了国外经验和技术,在中文书刊信息处理方面有很大优势,在技术当面,差距不明显。虽然国内外起点晚,但也采用了流行的开发工具,如 JAVA,VB,PB 等

12、1.3 本课题的主要特点参考一些典型图书管理系统的设计模块,从读者和管理员的角度出发,本着以读者借阅图书快捷、方便的原则,要求本系统应具有以下特点:1.具有良好的系统性能,便于使用和维护;2.较高的处理效率,便于使用和维护;3.系统尽可能简化图书管理员的重复管理工作,提高工作质量;4.简化数据查询合同及难度5.采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期;基于 Java 的图书管理系统的设计与实现2第二章 需求分析2.1 需求分析图书馆管理系统是图书馆管理工作中不可缺少的部分,对于图书馆的管理者和使用者来说都非常重要,但长期以来,人们使用传统的手工方式或性能较低的图书馆管理系统管

13、理图书馆的日常事务,操作流程比较繁琐,效率相当低。而一个成功的图书馆管理系统应提供快速的图书馆信息检索功能,快捷的图书借阅,归还流程,为管理者提供充足的信息和快捷的数据处理手段。从读者与图书馆管理员的角度出发,本着以读者借书,还书快捷,方便的原则。2.2 系统目标该系统主要建立一个基于 C/S 模式的图书馆管理系统面对当很多小型图书管理仍是人工管理带来的检索速度慢,效率低,借阅归还图数量大,图书统计工作量大,藏书不能完成及时更新的问题本系统目标主要体现在以下几个方面:(1)实现图书管理员对所藏图书的按类别、书名等多方面的添加、修改等管理;(2)建立图书馆外借读者数据库,方便工作人员对读者进行添

14、加,修改和删除等管理;(3)实现新书订购管理,方便管理员订购新书和验收新书;(4)实现借阅管理,方便管理员和读者图书的查询与归还;(5)实现图书管理系统的系统维护方便管理员更改口令和对用户的添加、删除、修改的管理;实现以下功能:管理员在本系统的应用下可按照书名模糊查询图书馆藏书清单;对图书信息进行添加、删除、修改、查询和新书订购等操作;对读者信息进行添加、删除、修改,借阅图书,归还图书进行管理;对图书类别进行添加、删除、修改等操作;退出系统:完成系统的退出;2.3 可行性分析采用现代化统一的计算机信息系统,能够有效优化图书馆管理系统,使其高效的发挥最大作用,能够迅捷的为读者提供相应的服务。开发

15、本系统的可行性研究如下:基于 Java 的图书管理系统的设计与实现32.3.1 技术上的可行性分析主要分析技术条件能否顺利完成开发工作,软、硬件能否满足需要。本系统采用Java 开发出友好的人机界面,便于用户理解、操作。数据库管理系统采用 MySQL,它能够处理大量数据,同时保持数据的完整性、安全性。因此本系统的开发平台已成熟可行。硬件方面,在科技飞速发展的今天,硬件更新速度越来越快,容量越来越大,可靠性越来越高,价格越来越便宜,因此硬件平台也能够满足本系统所需技术可行性 本系统选择了美国公司推出的 JAVA 开发工具,JAVA 是第一个全面支持面向对象程序设计的数据库语言工具。JAVA 的主

16、要特点有:1. 语言是简单的、小型的、结构中性的2. 强大的数据库开发功能3. 扩大了对 SQL 语言的语言支持4. 是面向对象的、高性能的、多线程的5. 是分布式的、面向网络6. 具有平台无关性一次编译多处运行7. 语言具有可移植性、是动态的 MySQL本系统用的数据库是 MySQL,MySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。

17、MySQL 软件采用了双授权政策(本词条“授权政策” ) ,它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。2.3.2 经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置以及开发技术均以可行的情况下开发这样一个管理系统成本不会很高,但其可以大大提高图书馆的工作效率,也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此改性统在经济可行性上时可行的。基于 Java 的图书管理系统的设计与实现4第三章 系统概要设计3.1 功

18、能设计根据以上的需求分析,该系统应达到以下目标:1:界面设计友好、美观2:数据库储存安全、可靠3:信息分析清晰、准确4:查询工能,保证数的灵活性5:操作简单易用,界面清晰大方6:系统安全稳定8:占用资源少,对硬件要求低3.2 模块设计本系统的功能模块设计界面简洁,易懂易操作,由 4 大模块构成,分别是基础数据模块、新书订购模块、借阅管理模块、系统数据维护模块 基础数据模块包括读者信息管理、图书类别管理、图书信息管理、退出系统,对信息进行添加删除修改等操作。 新书订购模块管理员对新书的订购和验收 借阅管理模块读者借阅和归还图书和对图书的搜索 系统管理模块管理员密码的更改和对用户信息的添加修改删除

19、等本系统的功能模块图如图 3.1 所示:基于 Java 的图书管理系统的设计与实现5图书管理系统系统数据维护更改口令用户信息基础数据维护读者信息管理图书类别管理图书信息管理退出系统新书订购 借阅管理新书订购验收新书图书借阅图书归还图书搜索读者信息添加读者信息修改删除图书类别添加图书类别修改图书信息添加图书信息修改用户添加用户信息修改与删除图 3.1 系统功能模块图3.3 系统数据库设计数据库的设计关系到整个软件的成败,当今的企业信息管理系统都是通过数据库储存信息的,本系统采用 MySQL 数据库,其体积小、速度快、总体拥有成本低多线程支持多处理器,较低的价格较高的性能。3.3.1 数据库树形结

20、构图数据库的树形结构图如图 3.2 所示:基于 Java 的图书管理系统的设计与实现6图 3.2 数据库树形结构图图书馆管理系统的对应数据库名为 db_library,共包含 6 张数据表,数据表的名称如表 3.3.1 所示:表 3.1tb_bookinfo 图书信息表tb_booktype 图书分类表tb_borrow 图书借阅表tb_operatur 操作员信息表tb_order 图书订购表tb_reader 读者信息表3.3.2 图书信息 E-R 图图书信息实体包括图书编号、图书类别编号、书名、作者、译者、出版社、价格出版社时间等属性。主要用于存储图书馆中所藏图书的相关信息,此表主要用于

21、对馆中图书的查询,添加等。表的实体如下图 3.3 所示:基于 Java 的图书管理系统的设计与实现7图书信息表译者出版社出版日期作者单价书名图书类别编号图 3.3 图书信息表 E-R 图3.3.3 图书分类表 E-R 图该表主要是方便对图书的分类,和对图书的查询,在实际应用中图书管理员就是根据图书管理员就是根据图书类型的不同将之分列在不同的书架,以方便读者的借阅寻找,其中可借阅天数项设置了不同类型图书的借阅期限,可根据图书的具体情况进行不同的维护管理,表的实体如下图 3.4 所示:图书分类类别名称可借天数罚款类别编号图 3.4 图书分类表 E-R 图3.3.4 图书借阅表 E-R 图该表的设计

22、是用于对读者借阅图书进行管理,包括编号、图书编号、读者编号、操作员编号、是否归还、借阅日期、归还日期等属性,其中编号作为图书借阅信息实体的唯一标识,它包括两个外键,分别为图书编号与读者编号,图书借阅信息实体以这两个外键与图书信息实体、读者信息实体建立了关系,图书借阅信息实体的 E-R 图如图 3.5 所示:基于 Java 的图书管理系统的设计与实现8图书借阅可借数量操作员编号是否归还书名读者编号编号借阅时间图书编号归还日期图 3.5 图书借阅表 E-R 图3.3.5 操作员信息表 E-R 图操作员信息实体主要包括编号、姓名、性别、年龄、身份证号、工作日期、电话、年龄、是否为管理员、密码等属性,

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

24、信息表 E-R 图3.3.7 读者信息表 E-R 图读者信息实体包括读者编号、性别、姓名、年龄、职业、办证日期、最大借书量、会员有效期、证件号码、证件类型、押金、电话等属性,读者编号作为本实体的唯一标识。其中,在性别属性标识信息中, “1”表示男性, “2”表示女性,在证件属性标识信息中“0”表示身份证, “1”表示军人证, “2”表示学生证, “3”表示工作证,读者信息实体的 E-R 图如图 3.8 所示:读者信息证件类型读者编号证件号码押金会员有效期电话年龄职业性别最大借书量办证日期姓名图 3.8 读者信息表 E-R 图基于 Java 的图书管理系统的设计与实现103.3.8 数据库逻辑设

25、计1:tb_bookInfo(图书信息表) 如表 3.2 所示:表 3.2 图书信息表2:tb_bookType( 图书分类表) 如表 3.3 所示:表 3.3 图书分类表字段名 数据类型 是否允许空自编号 int(11) 否类名称 varchar(20) 否可借天数 varchar(20) 否罚款金额 varchar(20) 否3:tb_borrow(图书借阅表 )如表 3.4 所示:表 3.4 图书借阅表字段名 数据类型 是否允许空自编号 int(11) 否图书编号 varchar(20) 否读者编号 varchar(20) 否可借书量 varchar(20) 否借阅时间 varchar(

26、20) 否归还时间 varchar(20) 否是否归还 varchar(20) 否操作员 varchar(20) 否图书名称 varchar(20) 否4:tb_operator(操作员信息表) 如表 3.5 所示:字段名 数据类型 是否允许空图书编号 varchar(20) 否图书名称 varchar(20) 否作者 varchar(20) 否译者 varchar(20) 是出版社 varchar(20) 否出版时间 datetime 否单价 double 否类别编号 varchar(20) 否基于 Java 的图书管理系统的设计与实现11表 3.5 操作员信息表字段名 数据类型 是否允许空

27、自编号 int(11) 否姓名 varchar(20) 否性别 varchar(20) 否年龄 int(11) 否证件号码 varchar(20) 否工作日期 datetime 否电话 varchar(20) 否是否为管理员 int(11) 否密码 varchar(20) 否5:tb_order( 图书订购表)如表 3.6 所示:表 3.6 图书订购表字段名 数据类型 是否允许空图书编号 varchar(20 否订购日期 datetime 否订购数量 varchar(20 否操作员 varchar(20 否是否验收 varchar(20 否折扣 varchar(20 否基于 Java 的图书管

28、理系统的设计与实现126:tb_reader( 读者信息表)如表 3.7 所示:表 3.7 读者信息表字段名 数据类型 是否允许空姓名 varchar(20) 否性别 varchar(20) 否年龄 varchar(20) 否职业 varchar(20) 否读者编号 varchar(20) 否最大借书量 varchar(20) 否电话 varchar(20) 否押金 double 否证件号码 varchar(20) 否证件类型 varchar(20) 否办证日期 datetime 否会员证有效日期 datetime 否基于 Java 的图书管理系统的设计与实现13第四章 系统的详细设计4.1

29、数据库的链接数据库及操作类通常包括连接数据库的方法 getConnection()、执行查询语句的方法 executeQuery()、执行更新操作的方法 executeUpdate()、关闭数据库连接方法 close()。下面将详细介绍如何编写图书管理系统中的数据库连接及操作类 Dao、java,步骤如下:1.指定类 dao.java 保存的包,并导入所需的包本例将其保存到 com.wsy.dao 包中。2.在 dao.java 类的构造方法中创建数据库连接操作,在此类中首先定义数据库连接驱动包名、数据库连接路径、数据库连接用户名、密码等静态变量,然后在构造函数中实现数据连接操作,在数据连接代

30、码中需要添加 trycatch 关键字,捕捉数据库连接时可能抛出的异常。3.创建执行查询语句的方法 executeQuery(),其返回值为 ResultSet()结果集。首先需要初始化 Dao 对象,调用构造函数,从而获取数据库连接。4.创建执行更新操作的方法 executeUpdate(),他的返回值为 int 型的整数,此返回值代表数据库更新操作是否成功返回值为 1 代表成功,返回值为-1 代表没成功。5.为了避免运行程序时资源的浪费,优化项目运行速度,需要在完成据库操作后关闭 数据库连接,所以在 Dao.java 类中创建了关闭数据库连接的方法 close()为了使数据库连接在程序结束

31、后确定会被关闭,在 close()方法中加入了 finally()字段,在 finally 块中将数据库连接置空。主要代码如下:private Dao() try if (conn = null) Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);elsereturn; catch (Exception ee) ee.printStackTrace();基于 Java 的图书管理系统的设计与实现14private static ResultSet e

32、xecuteQuery(String sql) try if(conn=null)new Dao();return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); catch (SQLException e) e.printStackTrace();return null; finally private static int executeUpdate(String sql) try if(conn=null)new Dao();return

33、 conn.createStatement().executeUpdate(sql); catch (SQLException e) System.out.println(e.getMessage();return -1; finally public static void close() try conn.close(); catch (SQLException e) e.printStackTrace();finallyconn = null;基于 Java 的图书管理系统的设计与实现154.2 系统登录模块的实现登陆模块式图书馆管理系统的入口,在运行本系统后,首先进入的便是登陆窗体。在

34、该窗体中,系统管理员可以通过输入正确的管理员名称与密码登陆到系统,当用户没有输入管理员的名称或密码时,系统将会弹出相应地提示信息。登陆模块的运行效果如图图书馆管理系统登录窗体,如图 4.1 所示:图 4.1 登录窗体当用户输入用户名和密码时,在登录的 click 事件中,通过“Select COUNT(*) From 操作用户 Where 用户名称 =用户名称 ND 用户密码 =用户密码”语句来判断用户输入的用户名和密码是否正确,和 admin 是否为 1 来判断是否为管理员。登录模块窗体继承了 JFrame 类,定义一个 ActionListener 类监听,组件发生事件的时候,会将事件包装

35、成一个 ActionEvent 对象,也就是这里的 e 登录主要代码如下:public class LoginFrame extends JFrameprivate JTextField userName;基于 Java 的图书管理系统的设计与实现16private JPasswordField password;private JLabel bgLabel;private JLabel nameLabel;private JLabel pwdLabel;private JButton login;private JButton reset;private static Operater us

36、er;private class BookResetAction implements ActionListener public void actionPerformed(ActionEvent e)userName.setText(“);password.setText(“);private class BookLoginAction implements ActionListener public void actionPerformed(ActionEvent e) user = Dao.check(userName.getText(), password.getText(); /用户

37、登录if (user.getName() != null) /userName 不为空说明登录成功try Library frame = new Library(); /进入到主界面frame.setVisible(true);LoginFrame.this.setVisible(false); catch (Exception ex) ex.printStackTrace(); else JOptionPane.showMessageDialog(null, “用户名或密码有误,请重新登陆!“);/登陆失败后 把用户名和密码清空userName.setText(“);password.set

38、Text(“);基于 Java 的图书管理系统的设计与实现174.3 主窗体的实现管理员通过“系统登录”模块的验证后,可以登录到图书管理系统的主窗体,系统主窗体主要包括基础数据维护、新书订购、借阅管理、系统维护等菜单栏用户在菜单栏中单击任一菜单栏执行相应的功能。如图 4.2 所示:图 4.2 主窗体首先创建 Library 类,在它的构造函数中设置主窗体相关属性,如窗体大小,窗体标题等相关属性,还可以为窗体设置背景图片,并调用创建菜单栏与工具栏的方法,编写创建菜单栏方法,可以初始化 JMenuBar 类对象创建顶层菜单,并在顶层菜单上添加相关菜单项与子菜单,然后为菜单栏添加文本,为菜单栏添加图

39、标可以使用 JMenu类中的 setText()方法进行添加,其实现主要代码如下:public Library() super();setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setLocationByPlatform(true);setSize(1000, 600);基于 Java 的图书管理系统的设计与实现18setTitle(“图书馆管理系统“ );JMenuBar menuBar = createMenu(); / 调用创建菜单栏的方法setJMenuBar(menuBar);final JLabel label =

40、new JLabel();label.setBounds(0, 0, 0, 0);setLocationRelativeTo(null);label.setIcon(null); / 窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) Dimension size = e.getComponent().getSize();label.setSize(e.getComponent().getSize();label.set

41、Text(“););DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE);getContentPane().add(DESKTOP_PANE);private JMenuBar createMenu() / 创建菜单栏的方法JMenuBar menuBar = new JMenuBar();JMenu bookOrderMenu = new JMenu(); / 初始化新书订购管理菜单“);4.3 图书信息管理模块的实现图书馆信息管理模块主要包括图书信息添加,图书信息修改两个功能。在图书馆信息添加窗体中管理员可以录入图书相关信息,如图 4.

42、3 和图 4.4 所示:基于 Java 的图书管理系统的设计与实现19图 4.3 图书信息添加首先创建图书信息添加窗体,可以在构造函数中对此窗体进行布局,由于需要在主窗体内部弹出图书添加窗体,所以这里使用内部框架的机制,BookAddFrame.java 类继承了 JinternalFrame 类,然后在图书信息添加窗体中添加按钮监听事件,在事件中的actionPerformed()方法中进行图书信息操作,除了添加按钮监听事件之外,还要控制图书编号文本框只能输入数字字符串的键盘监听事件。窗体实现主要代码如下:public class BookAddIFrame extends JInterna

43、lFrame private JTextField price;private JFormattedTextField pubDate;private JTextField translator;private JTextField writer;private JTextField ISBN;private JTextField bookName;private JTextField publisher;private JComboBox bookType;private JButton buttonadd;private JButton buttonclose;DefaultComboBo

44、xModel bookTypeModel;基于 Java 的图书管理系统的设计与实现20Map map=new HashMap();public BookAddIFrame() super();final BorderLayout borderLayout = new BorderLayout();getContentPane().setLayout(borderLayout);setIconifiable(true); / 设置窗体可最小化setClosable(true); / 设置窗体可关闭setTitle(“图书信息添加“ ); / 设置窗体标题setBounds(100, 100,

45、396, 260); / 设置窗体位置和大小class ISBNkeyListener extends KeyAdapter public void keyPressed(final KeyEvent e) if (e.getKeyCode() = 9)buttonadd.doClick();图 4.4 图书信息修改与图书信息添加窗体设计相同,图书信息修改窗体也继承了内部框架,同样在构造函数中初始化窗体属性。设计布局。基于 Java 的图书管理系统的设计与实现21为方便找到要查看和修改的那本书在窗体的右上方添加了搜素图书功能,采用的是对图书名的模糊查询,在 Dao 类中奖图书相关信息查询出来放

46、入二维数组中。初始化窗体组件,首先创建图书信息修改窗体中表格组件内容赋值的方法此方法的参数是 list 类型的集合。在 Dao 类中创建查询图书相关信息的方法返回 List 集合可以为此方法的参数,这个方法返回一个二维数组。在 Dao 类中创建查询图书相关信息的方法。创建完成窗体内表格组件后,需要为表格组件添加鼠标监听事件,以便于用户单击表格中的某一行记录后,相应地将表格的数据防止的文本框中。为修改按钮添加监听事件主要代码如下:private Object getFileStates(List list)String columnNames = “图书编号“ , “图书类别“, “图书名称“

47、, “作者“, “译者“, “出版商“,“出版日期“ , “价格“ ;Objectresults=new Objectlist.size()columnNames.length;for(int i=0;ilist.size();i+)BookInfo bookinfo=(BookInfo)list.get(i);resultsi0=bookinfo.getISBN();String booktypename=String.valueOf(MapPz.getMap().get(bookinfo.getTypeid();resultsi1=booktypename;resultsi2=bookin

48、fo.getBookname();resultsi3=bookinfo.getWriter();resultsi4=bookinfo.getTranslator();resultsi5=bookinfo.getPublisher();resultsi6=bookinfo.getDate();resultsi7=bookinfo.getPrice();return results;searchBtn = new JButton(“搜索“);searchBtn.setBounds(500, 45, 60, 25);headLogo.add(searchBtn);基于 Java 的图书管理系统的设计

49、与实现22searchText = new JTextField();searchText.setText(“请输入书名“);searchText.addFocusListener(new FocusListener() public void focusLost(FocusEvent e) public void focusGained(FocusEvent e) searchText.setText(“););int i=Dao.Updatebook(ISBNs, bookTypes, bookNames, writers, translators, publishers, Date.valueOf(pubDates), Double.parseDouble(prices);System.out.println(i);if(i=1)JOptionPane.showMessageDialog(null, “修改成功“);Obj

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报