基于Java的图书管理信息系统的设计与实现.doc_第1页
基于Java的图书管理信息系统的设计与实现.doc_第2页
基于Java的图书管理信息系统的设计与实现.doc_第3页
基于Java的图书管理信息系统的设计与实现.doc_第4页
基于Java的图书管理信息系统的设计与实现.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

目 录1.绪论11.1前言11.2国内外发展概况12.技术简介22.1 Swing22.2 Eclipse32.3 SQL Server200033.需求分析43.1可行性分析43.1.1 技术可行性43.1.2 经济可行性43.2 系统需求概述53.2.1 系统目标53.2.2用户类和特征54.系统分析54.1系统功能结构64.2 系统业务流程图75.总体设计85.1数据库设计85.1.1 数据库分析85.1.2 数据库表的设计85.1.3图书信息表结构设计95.1.4 图书分类信息表结构设计105.1.5 图书借阅信息表结构设计105.1.6 操作员信息表结构设计115.1.7 图书订购信息表结构设计115.1.8 读者信息表结构设计125.1.9 库存信息表结构设计125.1.10数据库表的关系图135.2 创建项目155.3 公共类设计166. 程序设计与编码176.1 数据库的连接176.2登录模块程序设计176.3 图书管理系统主窗体模块设计186.4 新书订购模块的实现196.5 图书验收模块的实现216.6 图书信息添加模块的实现226.7 图书信息修改模块的实现236.8 图书借阅模块的实现246.9 图书归还模块的实现266.10 图书查询模块的实现287. 软件测试297.1 软件测试概述297.2软件测试的方法与步骤307.3测试用例设计与测试结果分析317.3.1模块测试317.3.2集成测试327.3.3验收测试337.4评价338.总结348.1工作成果348.2改进意见348.3收获体会35参考文献36答 谢37基于Java的图书管理信息系统的设计与实现摘 要 图书管理信息系统是图书馆管理工作中不可缺少的部分,本文通过对不同类型的中小型图书馆进行调查研究,开发了此图书管理信息系统。本系统中主要包含图书借阅、图书归还、图书搜索、图书信息添加、用户添加等功能模块。本系统使用Java言语进行设计,采用了Eclipse作为开发工具,它是目前最流行的Java集成开发工具之一,具有强大的代码辅助、代码修正等功能。本系统中通过JDBC驱动和数据库进行无缝连接,后端的数据库是SQL Server2000,该数据库具有较高的完整性,一致性和安全性。关键词 图书管理,信息管理,java ,EclipseABSTRACTThe library management system is the indispensable part of the managementfor library,according to the study of the different types of middle and small scale libraries, investigation developed this books management information system. It contains books lending, books returning, books searching, books information adding, users adding function module.The system is designed using Java language, used Eclipse as a development tool; it is the most popular integrated development tool for Java, with a strong code assist, code amendments and other functions. This system use jdbc driver to connect the SQL server2000 database server, which is also an open source database system for its users. The database was designed with highly integrity, consistency and security.Key Words:Book management, Management of information, Java, Eclipse1.绪论1.1前言在科学技术日新月异的今天,计算机技术突飞猛进的发展,网络的出现,使得在各个领域中,无论是学习、工作、还是娱乐都普及了计算机的使用,大大提高人们的工作效率。然而学习的繁重、工作的压力、竞争的刺激使人们感到知识的困乏,渴望进一步充实自己,图书馆就顺理成章的成为他们获取知识的宝地,所以图书馆在信息社会中的作用越来越重要,能有效的管理图书馆同样重要。进入21世纪以来,信息技术从根本上推动了图书馆的飞速发展,计算机和计算机管理系统已成为图书馆进行图书管理的主要设备和系统。虽然目前很多大型的图书馆已经有了一整套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需由手工完成,工作起来效率比较低,这些图书馆大部分也没有一个完善的管理制度,例如没有规定借书总数,也没有规定借阅时间和相应的罚款金额,所以导致大量图书借出后长时间得不到归还,不便于动态及时地调整图书结构。为了更好地适应当前图书馆的管理需求,解决图书管理中存在的这些弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。图书馆管理系统将先进的信息技术运用到图书馆管理和服务中,从而改变了图书馆的传统管理模式。1.2国内外发展概况目前,在国外计算机已普遍用于经济、企业等的管理工作中。美国在财务会计上大约有90%的工作由计算机来完成,企业管理中80%以上的信息处理由计算机完成;在计算机应用发展较快的国家中,计算机应用于经济管理的大约占80%;用于科技计算的大约占8%,用于生产过程控制的大约占12%1。长期以来,我国信息资源的开发管理未能与信息资源的增长同步进行。我国的计算机应用要比西方国家落后十几年,而信息数字化,传输的网络化是缩小发展中国家与发达国家差距的捷径。因此,信息资源的开发和利用已被确认为国民经济信息化的核心内容1。在国内外研究中发现,现在的图书管理系统在以往的基础上做了很大的优化。在功能上,系统包含了图书管理中一些常用功能,例如:图书管理,读者管理,图书借、还、续借、查询等功能。在未来的发展中,可以预见,图书管理信息系统开发将更趋向精确化、简捷化、人性化、功能完善化,将会有一个更大更好的飞跃!2.技术简介本系统是基于Swing+SQL Server2000+Eclipse环境进行编写开发的,下面简要介绍Swing、Eclipse和SQL Server2000。2.1 SwingSwing开发源于MVC的体系结构,基于MVC的体系结构的程序允许被不同的数据模型和数据所取代,Swing语言主要具有以下的特点:可插入外观的组件。由于java是不依赖于平台的语言,所以它能够在任何客户端上运行,但当包括Swing组件的程序在不同的平台上运行时,每个平台上的Swing组件的显示会有不同;Swing语言允许开发者针对任何平台调整软件的外观。轻量级组件。Swing组件之所以被称为轻量级组件,是因为它完全是由java语言编写的,它们不依赖于本地平台的窗口来决定功能、外观和风格。2.2 EclipseEclipse是目前最流行的Java集成开发工具之一,它是基于Java语言编写、开放源代码的、可扩展的(Integrated Development Environment,IDE)开发工具,由IBM公司投资4000万美元开发并捐赠给开源社区。在所有IDE中,Eclipse是最有发展前途的产品,它为编程人员提供了一流的Java程序开发环境,是一款高度集成的工具,为开发提供一个全功能的具有高度商业品质的工业平台。插件是Eclipse平台最具有特色的特征之一,它允许安装第三方开发的插件来使自身的功能得到扩展和增强,所以本系统是基于Eclipse平台进行程序开发的2。2.3 SQL Server2000图书馆管理信息系统是一个小型的数据库系统。在这里我选择SQL Server2000作为本系统开发的后台数据库。SQL Server2000 是一种关系型数据库,关系模型是当前最受欢迎的数据存储和数据检索模型。它具有强大的数据管理功能,提供了丰富的管理工具支持数据的完整性管理、安全性管理和作业管理。SQL Server具有分布式数据库和数据仓库功能,能进行分布式事务处理和联机分析处理,支持客户机/服务器结构。在客户机/服务器框架内,服务器数据库要求与服务器的通信组件集成,以便和客户系统连接 3。3.需求分析3.1可行性分析可行性分析是对即将开发的系统,从技术、经济的角度出发,研究系统的可行性。分析系统是否值得开发、有无可行的解决办法。开发本系统的可行性分析如下:3.1.1 技术可行性技术可行性主要从软件和硬件能否满足需要、技术条件能否顺利完成开发工作这两方面来考虑。本系统是一个基于C/S结构的图书管理系统,采用面向对象技术、数据库技术等先进技术开发的应用程序,现有的开发技术已非常成熟,且被广泛应用于各行各业,利用现有技术完全可以达到功能目标。数据库采用SQL Server2000,它能够存储大量的数据,同时保持数据的一致性、完整性、安全性。在硬件方面,现在的科学技术飞速的发展,硬件更新速度越来越快,可靠性越来越高,容量越来越大,价格越来越便宜,因此硬件方面也能够满足本系统的需要。3.1.2 经济可行性鉴于计算机技术发展异常迅猛,在硬件软件配置和开发技术都可行的情况下开发这样一个管理系统成本不会很高,管理方式的自动化,减少了人力、物力费用,缩短了操作时间,极大地提高了工作效率和系统性能,这也是图书馆管理发展的必然趋势,其必将有比较宽阔的市场,因此本系统在经济可行性上是可行的4。3.2 系统需求概述3.2.1 系统目标“图书管理系统”主要提供图书信息和读者基本信息的维护以及借阅等功能。本系统针对的用户是中小型的图书馆,藏书的种类和数量较少,系统需要操作方便,方便管理员对整个系统管理和读者借阅图书。根据上下文中的分析及用户需求,本系统应达到以下目标:n 界面设计友好、美观、操作简单易用。n 数据存储安全、可靠。n 信息分类清晰、准确。n 强大的查询功能,保证数据查询的灵活性。n 系统安全、稳定,占用资源少,对硬件要求低。n 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。3.2.2用户类和特征最终的用户是图书管理员和读者,图书管理员需要进行用户的创建、修改和删除等工作,要求具备计算机知识,如权限管理等。读者是普通用户,具备一定的计算机操作知识即可。4.系统分析图书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段,但长期以来,人们使用传统的人工方式或性能较低的图书馆管理图书馆的日常事务,操作流程比较繁琐。一个成功的图书馆管理系统应该提供快速的图书信息检索功能、快捷的图书借阅、归还流程。本人通过对一些典型图书馆管理系统的考察,从读者与图书馆管理员的角度出发,本着以读者借书、还书快捷、方便的原则,开发了本图书馆管理系统。图书馆管理信息系统是典型的信息管理系统,其主要包括前台应用程序的开发以及后台数据库的建立和维护这两个方面。对于前台界面要美观、程序功能应尽量完备和易使用等特点;而对于后台则要建立很强的数据一致性和完整性、安全性较高的数据库。4.1系统功能结构根据上文中的图书管理系统的分析,将图书管理系统分为4大功能模块,分别为基础数据维护、图书借阅管理、新书订购管理和系统维护。本系统各个部分及其包括的具体功能模块如下图1所示: 图1 图书馆管理系统功能结构图4.2 系统业务流程图图书馆管理系统的系统流程如下图2所示: 图2 图书馆管理系统流程图5.总体设计5.1数据库设计5.1.1 数据库分析开发系统时对数据库的操作是必不可少的,数据库设计是根据程序的需求及其实现功能所制定的,数据库设计的合理性将直接影响到程序的开发效率。考虑到本系统需要的稳定性和可靠性,这里使用SQL Server 2000数据库作为本系统的数据库。SQL Server 2000是一种客户/服务器模式的关系型数据库,它具有很强的数据完整性、可伸缩性、可管理性、可编程性,具有均衡与完备的功能,具有较低的价格与性价比。SQL Server 数据库提供了复制服务、数据转换服务、报表服务并支持XML语言,使用SQL Server 数据库可以大容量存储数据并对数据进行合理的逻辑布局,运用数据库对象可以对数据进行复杂的操作。SQL Server 2000是SQL Server 7.0基础上扩展升级的产品,它继承了SQL Server 以前版本的优点,同时又增加了许多新功能,与微软公司的其他产品具有良好的兼容性。本系统的数据库名为db_library7,在数据库中创建了7张数据库表,用于存储不同的信息。5.1.2 数据库表的设计根据对系统所需的需求分析、系统设计,规划出本系统中使用的数据库实体分别为图书信息实体、图书分类实体、图书订购实体、读者信息实体、操作员信息实体、图书借阅信息实体、库存信息实体。下面以图书信息实体为例说明各个数据库表的设计流程,图书信息实体的E-R图如下图3所示:图3 图书信息实体5.1.3图书信息表结构设计图书信息表主要用于保存图书馆中所有图书的相关信息,这些相关信息是由操作员在图书入库时进行添加的。其中,表中的“price”字段是用于读者不小心将图书遗失时对遗失的图书进行赔偿的依据以及方便读者订购图书,该表的结构如下表1所示:表1 图书信息表 tb_bookInfo字 段 名 数 据 类 型 是 否 为 主 键 描 述 ISBNvarchar(13)是图书编号typeIdint否图书类别编号booknamevarchar(40)否图书名称writervarchar(21)否作者translatorvarchar(30)否译者publishervarchar(50)否出版商datesmalldatetime否出版日期pricemoney否价格5.1.4 图书分类信息表结构设计图书分类信息表的设计主要是规定了不同类型图书的可借天数,方便读者归还图书,其中“days”字段设置了不同类型图书的可借天数,这样也方便对图书的维护管理;“fk”属性是表示读者借书超过可借天数每天的罚款金额,以“元”为单位记录;表的具体结构设计如下表2所示:表2 图书分类信息表 tb_bookType字 段 名数 据 类 型是 否 为 主 键描 述typeIdint是图书类别编号typenamevarchar(20)否图书类别名称daysint否可借天数fkfloat否每天的罚款金额5.1.5 图书借阅信息表结构设计图书借阅信息表用于保存读者借阅图书的所有相关信息,表中的“id”字段是对读者借阅图书的唯一性识别标识;“readerISBN”字段是记录借阅的读者编号;借出日期记录了相应的归还日期,以及归还时是否超时;“operatorId”字段的设计是为了方便以后的查询,“isback”字段是用来查询该图书是否被归还,用“0”是表示已经归还,用“1”是表示还没有归还,表的具体结构设计如下表3所示:表3 图书借阅信息表 tb_borrow字 段 名数 据 类 型是 否 为 主 键描 述idint是序号ISBNvarchar(13)否图书编号operatorIdint否操作员编号readerISBNvarchar(13)否读者编号isbackint否是否返还borrowDatedatetime否借书日期backDatedatetime否应还日期5.1.6 操作员信息表结构设计该表用于保存所有操作员的相关信息,“admin”字段是表示人员的级别,用“0”表示不是管理员,用“1”表示是管理员,该表的具体结构设计如下表4所示:表4 操作员信息表 tb_operator字 段 名数 据 类 型是 否 为 主 键描 述operatorIdint是操作员编号namevarchar(12)否姓名sexvarchar(2)否性别ageint否年龄identityCardvarchar(30)否身份证号workdatedatetime否工作日期telvarchar(50)否联系电话adminbit否级别passwordvarchar(10)否密码5.1.7 图书订购信息表结构设计该表的设计是为了方便图书的订购,“ISBN”字段是为了记录已经订购的图书编号,“checkAndAccept”是表示是否验收,用“0”表示已经验收,用“1”表示还没有验收,“zk”是表示订购该图书所享受的优惠,该表的具体结构设计如下表5所示:表5 图书订购信息表 tb_order字 段 名数 据 类 型是 否 为 主 键描 述ISBNvarchar(13)是订购的图书编号datedatetime否订购日期numberint否订购数量operatorvarchar(6)否操作员checkAndAcceptint否是否验收zkfloat否折扣5.1.8 读者信息表结构设计该表的设计用于保存所有读者的相关信息,“sex”字段表示性别,用“1”表示读者性别为男性,用“2”表示读者性别为女性;“zj”字段表示证件的类型,用“1”表示军人证,用“2”表示学生证,用“3”表示工作证,该表的具体结构设计如下表6所示:表6 读者信息表 tb_reader字 段 名数 据 类 型是 否 主 键描 述namevarchar(10)否读者姓名sexvarchar(2)否性别ageint否年龄identityCardvarchar(30)否身份证号datedatetime否会员证有效日期telvarchar(50)否联系电话keepMoneymoney否押金readerISBNvarchar(13)是读者编号bztimedatetime否办证日期maxNumint否可借图书本数zyvarchar(50)否读者职业zjint否证件类型5.1.9 库存信息表结构设计该表用于保存图书馆中所藏图书的库存相关信息,该表的具体结构设计如下表7所示:表7 库存信息表 tb_stockpile字 段 名数 据 类 型是 否 为 主 键描 述ISBNvarchar(13)是图书编号amountint否库存数量5.1.10数据库表的关系图本系统用Powerdesigner软件实现数据库表的设计,下面以图书信息表为例来说明在Powerdesigner中建立数据库表之间关系的过程。在Powerdesigner中建表如下图4所示:图4 图书信息表在上图4中的字母“P”表示主键,“F”表示外键,“M”表示不允许为空。在建立表tb_bookType的“typeId”字段、表tb_borrow的“id”字段和表tb_operatord的“operatorId” 字段时,需要在表的工具栏上点击“Properties”按钮,在弹出的窗口里选择“Identity”复选框,这样来设计它们的值是自动增加。在建立表tb_borrow的“isback”字段时,设计它的默认值为“1”,建立表tb_operator的“admin”字段时,也设计它的默认值为“0”。设计默认值时,选中需要设计默认值的字段,然后在表的工具栏上点击“Properties”按钮,在弹出的窗口里再点击“Standard Checks”按钮,最后在Default中设计相应的默认值。7张数据库表设计完成后的的关系图如下图5所示:图5 数据库表的关系图在Powerdesigner中创建完数据模型之后,就可以使用它在SQL Server2000数据库中创建具体的数据表了,为了能在SQL Server2000当中创建数据表,首先在SQL Server2000当中创建一个数据库(db_library7)和在控制面板的管理工具里创建相应的数据源(wjy7),然后在Powerdesigner的菜单栏中选择“Database”菜单下的“Generate Database”子菜单,最后再进行相应的操作就可以在db_library7中建立数据库表了。具体的操作如下图6所示:图6 将表导入数据库5.2 创建项目在Eclipse中创建项目,编写代码之前,先把系统中可能用到的文件夹创建出来,这样可以方便以后的开发工作,也可以规范系统的整体架构。在程序开发时,将所创建的文件保存在相应的文件夹中即可。本项目的文件夹组织结构如下图7所示: 图7 图书馆管理系统文件夹组织结构上图7中的src表示项目源码文件夹;com.wsy表示主窗体源代码文件夹;com.wsy.dao表示Dao类文件夹,放置与数据库相关的文件夹;com.wsy.iframe表示内部窗体文件夹;com.wsy.JComPz表示辅助类文件夹;com.wsy.model表示数据模型文件夹;com.wsy.util表示公共类文件夹;res表示图片资源文件夹;JRE System Library表示支持Java运行的系统库;MsSQLJDBC表示Java连接SQL Server数据库类库文件。5.3 公共类设计在开发过程中经常会用到一些公共模块,例如数据库连接及操作的类、限制文本框输入长度的类以及描述组合框索引与内容的类等,因此,在开发系统前首先需要设计这些公共模块。本系统创建了6个公共类,公共类Dao用于进行数据库连接和操作,该类放到com.wsy.dao包中;公共类MenuActions用于存放需要弹出内容窗体的命令,这样触发任何一种组件事件时,都会按照统一的方式处理,该类放到com.wsy包中;公共类MyDocument用于限制文本框中输入内容的长度,该类放到com.wsy.util包中;公共类Item用于把组合框组件的索引值与其所对应的内容进行关联,该类放到com.wsy.JComPz包中;公共类MapPz使用Map关联组合框的索引值与组合框的具体内容,该类放到com.wsy.JComPz包中;公共类CreatecdIcon中定义一个返回ImageIcon类对象的方法,此方法以当前图片的文件名称为参数初始化一个ImageIcon类的对象,该类放到com.wsy.util包中。6. 程序设计与编码6.1 数据库的连接本系统中通过JDBC驱动和SQL Server 2000数据库进行无缝连接,具体代码实现如下:public class Dao protected static String dbClassName=com.microsoft.jdbc.sqlserver.SQLServerDriver; protected static String dbUrl=jdbc: microsoft: sqlserver:/localhost:1433;+DatabaseName=db_library7; SelectMethod=Cursor;protected static String dbUser = sa;protected static String dbPwd = ;protected static String second = null;private static Connection conn = null;private Dao() try if (conn = null) Class.forName (dbClassName).newInstance ();conn = DriverManager.getConnection (dbUrl, dbUser, dbPwd);elsereturn; catch (Exception ee) ee.printStackTrace ();6.2登录模块程序设计登录模块是图书馆管理系统的入口,在运行本系统后首先进入的是登录窗体,在该窗体中系统管理员可以通过输入正确的用户名“王进莹”与密码“1234”登录系统,当用户没有输入用户名或密码、输入的用户名或密码其中有一个是有误时,系统将会弹出相应的提示信息。系统登录模块的运行结果如下图8所示:图8 图书管理系统的登录界面管理员在登录界面输入用户名和密码,选择登录,登录成功则跳转到系统的主窗体,否则提示错误信息。用户身份验证的登录流程图如下图9所示: 图9 登录流程图6.3 图书管理系统主窗体模块设计管理员通过“系统登录”模块的验证后,可以登录到图书馆管理系统的主窗体。系统主窗体主要包括菜单栏、工具栏。用户在菜单栏中选择任一菜单项即可执行相应的功能;工具栏提供了对菜单的快捷操作方式,为用户提供了经常使用的功能按钮。主窗体运行结果如下图10所示:图10 图书管理系统主界面的运行结果主窗体的菜单栏中包含下拉菜单,单击该下拉菜单,可以打开包含菜单项与子菜单的菜单,当用户选择某一菜单项时,窗体中所有的菜单都会被关闭。6.4 新书订购模块的实现在新书订购管理窗体中,管理员可以录入订购图书的相关信息,打开新书订购管理窗体,系统会自动添加订购日期和操作员。在书籍编号标签右侧的文本框中输入书籍编号,当该文本框失去焦点时,如果该图书编号已经被订购,就弹出消息对话框,提示“已经为此编号图书添加订购信息,请输入其他图书编号!”信息;如果该图书没有被订购过,系统会自动添加图书名称、图书类别、出版社和图书价格,输入订购数量和折扣;如果该图书在图书信息表中没有存储的话,也弹出提示对话框,即“图书信息表中无此书号,请您首先到基础数据维护中进行图书信息添加操作”;选择是否验收,单击“添加”按钮,弹出消息对话框,提示添加成功。新书订购管理窗体运行结果如下图11所示:图11 新书订购管理界面为书籍编号文本框添加失去焦点的事件监听的具体实现代码如下:class ISBNListenerlostFocus extends FocusAdapter public void focusLost (FocusEvent e)String ISBNs = ISBN.getText().trim();if(!Dao.selectBookOrder (ISBN.getText().trim().isEmpty()JOptionPane.showMessageDialog(null, 已经为此编号图书添加订购信息,请输入其他图书编号!);ISBN.setText();bookName.setText();price.setText();return;List list = Dao.selectBookInfo(ISBNs);if(list.isEmpty()&!ISBN.getText().isEmpty()ISBN.setText();bookName.setText();price.setText();JOptionPane.showMessageDialog(null, 图书信息表中无此书号,请您首先到基础数据维护中进行图书信息添加操作);for (int i = 0; i list.size(); i+) BookInfo bookinfo = (BookInfo) list.get(i);bookName.setText(bookinfo.getBookname();bookType.setSelectedItem(map.get(bookinfo.getTypeId();cbs.setSelectedItem(bookinfo.getPublisher();price.setText(String.valueOf(bookinfo.getPrice();6.5 图书验收模块的实现打开图书验收窗体,会在表格中显示所有图书的订购信息,从表格中选择图书的订购信息,会在表格下方的单选按钮和文本框中显示相应的订购信息。单击“验收”按钮,将弹出消息对话框,如果选择的图书订购信息已经经过验收,则弹出“您选择的图书已经进行过验收,请选择其他图书进行验收”的消息对话框;如果选择的图书订购信息没有经过验收,则弹出“验收成功”的消息对话框。图书验收窗体运行结果如下图12所示:图12 图书验收界面从表格中选择图书的订购信息,会在表格下方的单选按钮和文本框中显示相应的订购信息的具体代码实现如下:class TableListener extends MouseAdapter public void mouseClicked(final MouseEvent e) int selRow = table.getSelectedRow();ISBN.setText(table.getValueAt(selRow, 0).toString().trim();orderDate.setText(table.getValueAt(selRow, 1).toString().trim();orderNumber.setText(table.getValueAt(selRow, 2).toString().trim();operator.setText(table.getValueAt(selRow, 3).toString().trim();bookType.setText(table.getValueAt(selRow, 6).toString().trim();price.setText(table.getValueAt(selRow, 12).toString().trim();if(table.getValueAt(selRow, 4).toString().trim().equals(否)/1代表没有验收radioButton2.setSelected(true);elseradioButton1.setSelected(true);zk.setText(table.getValueAt(selRow, 5).toString().trim();orderPrice.setText(Double.valueOf(table.getValueAt(selRow, 12).toString().trim()*Double.valueOf(table.getValueAt(selRow, 5).toString().trim()+);6.6 图书信息添加模块的实现在图书信息添加窗体中管理员可以录入图书相关信息,包括名称、类别、图书编号等。同时在添加按钮监听事件中,限制用户输入非法字符串等操作,如果用户没有在窗体必填文本框中输入字符串单击“添加”按钮,系统会弹出相应的提示对话框。图书信息添加运行结果如下图13所示:图13 图书信息添加界面“图书编号”的文本框中要添加一个失去焦点的监听事件,用来判断添加的图书编号是否已经存在,当输入完的图书编号失去焦点时,如果图书编号已经存在了,将会弹出提示窗口“添加书号重复,请重新输入!”。具体的实现语句如下:ISBN.addFocusListener (new ISBNFocusListener (); /为图书编号添加失去焦点的监听事件class ISBNFocusListener extends FocusAdapter public void focusLost (FocusEvent e) if (! Dao.selectBookInfo (ISBN.getText ().trim ().isEmpty () JOptionPane.showMessageDialog(null, 添加书号重复,请重新输入!);return ;窗体中的“出版日期”设计时是取的当前时间,图书信息添加时,只要手动的改一下就行了,取当前时间的具体实现语句如下:SimpleDateFormat myfmt=new SimpleDateFormat (yyyy-MM-dd);PubDate= new JFormattedTextField (myfmt.getDateInstance ();pubDate.setValue (new java.util.Date ();6.7 图书信息修改模块的实现进入图书信息修改窗体后首先在表格中显示所有图书的相关信息,管理员可以选择表格中需要修改的某一行数据,这时在窗体下方的文本框中显示相应的内容,用户可以通过修改文本框的内容修改图书相关信息。图书信息修改运行结果如下图14所示:图14 图书信息修改界面图书信息修改的主要实现语句如下:/* * 修改图书信息方法*/public static int Updatebook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price)int i=0;try String sql=”update tb_bookInfo setISBN=+ISBN+,typeId=+typeId+,bookname=+bookname+,writer=+writer+,translator=+translator+,publisher=+publisher+,date=+date+,price=+price+ where ISBN=+ISBN+;/System.out.pr

温馨提示

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

评论

0/150

提交评论