图书管理系统的设计数据库课程设计报告

上传人:沈*** 文档编号:135938496 上传时间:2022-08-16 格式:DOC 页数:45 大小:905KB
收藏 版权申诉 举报 下载
图书管理系统的设计数据库课程设计报告_第1页
第1页 / 共45页
图书管理系统的设计数据库课程设计报告_第2页
第2页 / 共45页
图书管理系统的设计数据库课程设计报告_第3页
第3页 / 共45页
资源描述:

《图书管理系统的设计数据库课程设计报告》由会员分享,可在线阅读,更多相关《图书管理系统的设计数据库课程设计报告(45页珍藏版)》请在装配图网上搜索。

1、课程设计任务书一、设计题目图书管理系统的设计二、设计概述通过对典型的图书系统的订购、借阅、维护等业务流程进行分析,完成具有图书管理、用户管理等相关功能的数据库管理应用系统。三、设计要求1、完成图书信息的维护2、完成按名称或作者条件的图书查找 3、完成图书订购、入库功能4、实现借阅功能5、完成读者、操作员的管理四、进度安排目录1、设计概述31.1 设计目的31.2 设计内容31.3 设计方法与步骤32.系统需求分析42.1系统需求42.1.1 文字描述42.1.2图形描述42.2数据流图:42.3数据字典:72.3.1数据项72.4数据结构92.5数据流102.6数据存储112.7处理过程123

2、.概念模型设计143.1 E-R图143.1.1 分E-R图143.1.2 总E-R图174逻辑结构设计184.1E-R图转换为关系模式184.2关系模式的优化184.3设计用户子模式215.数据库的物理设计225.1确定数据的存储结构225.2确定数据的存放位置225.3确定系统配置226.数据库的实施与维护2361数据的载入和应用程序的调试23611 数据表的建立语句23(1)图书信息表的建立23(2)图书类型表的建立23(3)图书借阅表的建立23(4)图书操作表的建立24(5)订购单表的建立24(6)读者信息表的建立24(7)图书库存表的建立256.1.2数据库关系图256.1.3应用程

3、序的调试256.2数据库的试运行486.3数据库的运行与维护487总结491、设计概述1.1 设计目的目前社会上信息管理系统发展飞速,为了使书店管理更加规范化、程序化、科学化,我们设计了图书管理系统。本系统为管理者提供方便的管理,主要子模块有图书管理、读者管理、用户管理等,可实现日常图书进货、借阅流程,最终达到提高工作效率的目的。读者可以进入图书查询界面通过图书名称、图书作者等方式查询图书,查到满意的图书后可点击借阅。管理者可以通过登录管理界面实现对图书的添加、修改操作以及验收和查看顾客信息,管理员可以维护用户注册信息、维护图书信息、系统等。1.2 设计内容1)图书信息维护:维护图书基本信息,

4、如增、查、改、验收、借阅、归还;2)借阅信息管理:读者借阅图书时,将读者信息及所借阅图书、借阅时间等记录下来,以及读者归还图书时的信息录入,同时可以搜索图书;3)读者管理:主要处理读者的注册及读者信息的修改和删除等;4)用户管理:对用户信息进行处理,如添加、修改与删除。5)数据备份与还原1.3 设计方法与步骤开发软件:SQL Server2008、Eclipse开发语言:Java在Eclipse中创建项目,根据设计内容编程,主要有1)公共类:Dao连接数据库,实现executeQuery和 executeUpdate;MenuActions实现内部菜单的动作;CreatedIcon实现背景图片

5、的填充。2)主窗体设计3)管理员登录模块设计4)图书信息管理模块设计5)图书借阅、归还模块设计6)图书查询模块设计2.系统需求分析2.1系统需求2.1.1 文字描述书店管理系统需要满足来自三个方面需求:第一,书店工作人员通过计算机来管理各类图书,进行图书分类编号,调整图书结构,增加图书库存,适应读者的需求。第二,工作人员对读者借阅请求做出响应,借出图书。第三,用户的添加,修改和删除操作 。2.1.2图形描述2.2数据流图:顶层图:订购子系统:合并后的数据流程图2.3数据字典:2.3.1数据项 图书信息表数据项数据项含义数据项名类型存储长度备注图书条形码ISBNvarchar13图书类别编码ty

6、peIdint4图书作者writervarchar21图书名称booknamevarchar40译者translatorvarchar30出版社publishervarchar50出版日期datesmalldatetime价格pricemoney操作员编码operatorIdint4图书类别数据项数据项含义数据项名类型存储长度与其他数据项的逻辑关系类别编码idint类别名称typeNamevarchar20借书天数daysint4罚款fkfloat与超出借书天数(days)的多少有关操作员编码operatorIdint4图书借阅数据项数据项含义数据项名类型存储长度取值范围取值含义与其他数据项的

7、逻辑关系借阅号idint图书条形码bookISBNvarchar13操作员编码operatorIdint4读者条形码readerISBNvarchar13是否归还isbackint41,21为不是,2为是借阅时间borrowDatedatetime比归还时间早归还时间backDatedatetime比借阅时间晚图书订购表数据项数据项含义数据项名类型存储长度取值范围取值含义图书条形码ISBNvarchar13订购日期datedatetime10订购数量numberint10数量越大可能使折扣更低是否验收checkAndAcceptInt40,10代表是,1代表不是折扣zkfloat0-9的整数数

8、字代表相应的折扣操作员编码operatorIdint4图书库存数据项数据项含义数据项名类型存储长度备注图书条形码ISBNvarchar13库存数量Amountint4操作员编码operatorIdint4操作员数据项数据项含义数据项名类型存储长度取值范围取值含义操作员编码idint4操作员姓名namevarchar12操作员性别sexvarchar21,21为男性,2为女性操作员年龄ageint40100的整数正常年龄范围证件号码identityCardvarchar30数字13位工作日期workdatedatetime操作员电话telvarchar50数字,11位是否为管理员adminbit

9、0,10代表不是,1代表是密码passwordvarchar10读者数据项数据项含义数据项名类型存储长度取值范围取值含义读者姓名nameVarchar10读者性别sexvarchar21,21为男性,2为女性读者年龄ageint40-100的整数正常年龄范围证件号码identityCardvarchar30数字13位证件有效日期datedatetime最大借书量maxNumint4读者电话telvarchar50数字,11位办证时交纳的押金keepMoneymoney证件zjint101,2,31为军人证,2为学生证,3为工作证读者职业zyvarchar50读者条形码ISBNvarchar13

10、办证时间bztimedatetime操作员编码operatorIdint42.4数据结构数据结构名组成含义说明图书信息图书条形码、图书类别编码、图书作者、图书名称、译者、出版社、出版日期、价格、操作员编码是图书管理信息系统中图书维护模块的主体数据结构,定义了图书的有关信息图书类别类别编码、类别名称、借书天数、罚款、操作员编码定义了各类图书的有关信息图书借阅借阅号、图书条形码、操作员编码、读者条形码、是否归还、借阅时间、归还时间定义了图书借阅的有关信息图书订购图书条形码、订购日期、订购数量、操作员编码、是否验收、折扣定义了图书订购的有关信息图书库存图书条形码、库存数量、操作员编码定义了图书库存的

11、有关信息操作员信息操作员编码、操作员姓名、操作员性别、操作员年龄、证件号码、工作日期、操作员电话、是否为管理员、密码是图书管理信息系统中用户维护模块的主体数据结构,定义了操作员的有关信息读者信息读者姓名、读者性别、读者年龄、证件号码、证件有效日期、最大借书量、读者电话、办证时交纳的押金、证件、读者职业、读者条形码、办证时间、操作员编码定义了读者的有关信息2.5数据流数据流:图书信息结果说明:图书信息的最终结果数据流来源:管理员添加信息数据流去向:图书订购或入库组成:图书信息:图书条形码、图书类别编码、图书作者、图书名称、译者、出版社、出版日期、价格、操作员编码数据流:图书订购结果说明:图书订购

12、的最终结果数据流来源:图书订购数据流去向:验收组成:图书订购:图书条形码、订购日期、订购数量、操作员编码、是否验收、折扣数据流:图书借阅结果说明:图书借阅的最终结果数据流来源:借阅数据流去向:阅读组成:图书借阅:借阅号、图书条形码、操作员编码、读者条形码、是否归还、借阅时间、归还时间、操作员编码数据流:图书库存结果说明:图书库存的最终结果数据流来源:操作员验收数据流去向:图书借阅组成:图书库存:图书条形码、库存数量、操作员编码数据流:读者信息结果说明:读者信息的最终结果数据流来源:操作员维护数据流去向:登录或借阅组成:读者信息:读者姓名、读者性别、读者年龄、证件号码、证件有效日期、最大借书量、

13、读者电话、办证时交纳的押金、证件、读者职业、读者条形码、办证时间、操作员编码数据流:操作员信息结果说明:操作员信息的最终结果数据流来源:用户添加 数据流去向:管理组成:操作员信息:操作员编码、操作员姓名、操作员性别、操作员年龄、证件号码、工作日期、操作员电话、是否为管理员、密码2.6数据存储数据存储:图书信息表说明:记录图书的基本情况流入数据流:图书信息结果流出数据流:图书借阅结果组成:图书信息:图书条形码、图书类别编码、图书作者、图书名称、译者、出版社、出版日期、价格数据量:每年3000张存取方式:随机存取数据存储:图书借阅表说明:记录图书的借阅情况流入数据流:图书信息结果流出数据流:图书借

14、阅结果组成:图书借阅:借阅号、图书条形码、操作员编码、读者条形码、是否归还、借阅时间、归还时间数据量:每年3000张存取方式:随机存取数据存储:图书订购表说明:记录图书的订购情况流入数据流:图书信息结果流出数据流:图书借阅结果组成:图书订购:图书条形码、订购日期、订购数量、操作员、是否验收、折扣数据量:每年3000张存取方式:随机存取数据存储:图书库存表说明:记录图书的库存情况流入数据流:图书信息结果流出数据流:图书借阅结果组成:图书库存:图书条形码、库存数量数据量:每年3000张存取方式:随机存取数据存储:操作员信息表说明:记录操作员的基本情况流入数据流:图书信息结果流出数据流:图书借阅结果

15、组成:操作员信息:操作员编码、操作员姓名、操作员性别、操作员年龄、证件号码、工作日数据量:每年3000张存取方式:随机存取数据存储:读者信息表说明:记录读者的基本情况流入数据流:图书信息结果流出数据流:图书借阅结果组成:读者信息:读者姓名、读者性别、读者年龄、证件号码、证件有效日期、最大借书量、数据量:每年3000张存取方式:随机存取2.7处理过程处理过程:新书订购说明:为新书下一个订单输入:新书,订单输出:新书购入处理:当需要购买新书的时候,为新书下一个订单,一个订单可以有多种类的图书和数量众多的数量。 处理过程:用户信息维护说明:操作员为用户维护用户信息输入:用户信息,操作员输出:系统用户

16、信息表增加信息或者修改信息处理:当一个新用户加入到系统时,或者一个用户的信息有了变化之后,由操作员把信息增加或修改至系统。处理过程:图书借阅说明:用户借阅图书输入:用户,图书输出:图书借出到用户处理:用户到达图书馆借阅图书时。要求每个用户只能借阅相应的最大数量,同样的书只能借一本处理过程:新书验收说明:把订购的新书验收,放入仓库输入:新书,仓库输出:新书入库处理:当新书到达后,为所有来的新书做一个验收工作。要求把同一个种类的图书放在一个仓库的一个货架。处理过程:归还图书说明:用户归还图书输入:用户,图书输出:图书归还处理:用户到达图书馆归还图书时。要求每个用户必须归还所有已到期的图书,要求超出

17、借期的书要交罚款处理过程:图书搜索说明:用户搜索图书输入:图书输出:图书信息处理:用户到达图书馆后,可以搜索图书信息,方便借阅图书。3.概念模型设计3.1 E-R图3.1.1 分E-R图根据对书店管理系统的需求分析,总结出如下需求信息:(1) 每种图书类别下可以有多种图书。(2) 每个书店用户可以借阅多本图书。(3) 每种图书可以同时借给多个读者。(4) 一个仓库可以存放多类图书。(5) 一个管理员可以订购多类图书。图书信息图书作者出版社出版日期价格图书条形码图书名称译者图3.1图书信息图图书类别借书天数类别名称类别编码罚款图3.2图书类别图图书借阅借阅时间归还时间借阅号是否归还图3.3图书借

18、阅图图书订购订购数量折扣订购日期图书条形码是否验收图3.4图书订购图图3.5 图书库存E-R图读者信息读者姓名读者年龄证件有效日期办证时交纳的押金读者电话读者性别办证时间最大借书量证件号码读者条形码读者职业证件图3.6读者信息E-R图操作员信息工作日期证件号码操作员电话是否为管理员操作员年龄操作员编码操作员姓名操作员性别密码图3.7操作员信息E-R图对每个实体定义的属性如下:图书信息:图书条形码,图书类别编码,操作员编码,图书作者,图书名称,译者,出版社,出版日期,价格图书类别:类别编码,操作员编码,类别名称,借书天数,罚款图书订购:图书条形码,操作员编码,订购日期,订购数量,是否验收,折扣图

19、书借阅:借阅号,图书条形码,操作员编码,读者条形码,是否归还,借阅时间,归还时间图书库存:图书条形码,操作员编码,库存数量操作员信息:操作员编码,操作员姓名,操作员性别,操作员年龄,证件号码,工作日期,操作员电话,是否为管理员,密码读者信息:读者条形码,操作员编码,读者姓名,读者性别,读者年龄,证件号码,证件有效日期,最大借书量,读者电话,办证时交纳的押金,证件,读者职业,办证时间3.1.2 总E-R图4逻辑结构设计4.1E-R图转换为关系模式(1)图书信息:图书条形码、图书类别编码、操作员编码、图书作者、图书名称、译者、出版社、出版日期、价格(2)图书类别:类别编码、操作员编码、类别名称、借

20、书天数、罚款(3)图书借阅:借阅号、图书条形码、操作员编码、读者条形码、是否归还、借阅时间、归还时间(4)图书订购:图书条形码、操作员编码、订购日期、订购数量、是否验收、折扣(5)图书库存:图书条形码、操作员编码、库存数量(6)操作员信息:操作员编码、操作员姓名、操作员性别、操作员年龄、证件号码、工作日期、操作员电话、是否为管理员、密码(7)读者信息:读者条形码、操作员编码、读者姓名、读者性别、读者年龄、证件号码、证件有效日期、最大借书量、读者电话、办证时交纳的押金、证件、读者职业、办证时间(8)联系“借还”对应的关系模式如下: 借还(图书条形码,读者条形码 )(9)联系“管理”是一个多元联系

21、,可将它转化为如下关系模式: 管理(图书条形码,图书类别编码,操作员编码,读者条形码,借阅号)(10)“图书订购”和“图书库存”是具有相同码的关系模式,可合并为如下关系模式: 图书库存(图书条形码,库存数量,订购日期,订购数量,操作员,是否验收,折扣)(11) 联系“分类”对应的关系模式如下: 分类(操作员编码,图书类别编码)4.2关系模式的优化在关系模式图书信息:图书条形码、图书类别编码、操作员编码、图书作者、图书名称、译者、出版社、出版日期、价格中存在如下函数依赖:图书条形码 图书类别编码图书条形码 图书作者图书条形码 图书名称图书条形码 译者图书条形码 出版社图书条形码 出版日期图书条形

22、码 价格图书条形码 操作员编码为了满足2nf,我们把这个表中的操作员编码去掉,此时也满足了3nf,不存在传递函数依赖关系。在关系模式图书类别:类别编码、操作员编码、类别名称、借书天数、罚款中存在如下函数依赖:类别编码 类别名称类别编码 借书天数类别编码 罚款类别编码 操作员编码为了满足2nf,我们把这个表中的操作员编码去掉,此时也满足了3nf,不存在传递函数依赖关系。在关系模式图书借阅:借阅号、图书条形码、操作员编码、读者条形码、是否归还、借阅时间、归还时间中存在如下函数依赖:借阅号 图书条形码借阅号 读者条形码借阅号 是否归还借阅号 借阅时间借阅号 归还时间借阅号 操作员编码满足2nf也满足

23、了3nf,不存在传递函数依赖关系。在关系模式图书订购:图书条形码、操作员编码、订购日期、订购数量、是否验收、折扣中存在如下函数依赖:图书条形码 订购日期图书条形码 订购数量图书条形码 是否验收图书条形码 折扣图书条形码 操作员编码为了满足2nf,我们把这个表中的操作员编码去掉,此时也满足了3nf,不存在传递函数依赖关系。在关系模式图书库存:图书条形码、操作员编码、库存数量中存在如下函数依赖:图书条形码 库存数量图书条形码 操作员编码为了满足2nf,我们把这个表中的操作员编码去掉,此时也满足了3nf,不存在传递函数依赖关系。在关系模式操作员信息:操作员编码、操作员姓名、操作员性别、操作员年龄、证

24、件号码、工作日期、操作员电话、是否为管理员、密码中存在如下函数依赖:操作员编码 操作员姓名操作员编码 操作员性别操作员编码 操作员年龄操作员编码 证件号码操作员编码 工作日期操作员编码 操作员电话操作员编码 是否为管理员操作员编码 密码满足2nf,此时也满足了3nf,不存在传递函数依赖关系。在关系模式读者信息:读者条形码、操作员编码、读者姓名、读者性别、读者年龄、证件号码、证件有效日期、最大借书量、读者电话、办证时交纳的押金、证件、读者职业、办证时间中存在如下函数依赖:读者条形码 读者姓名读者条形码 读者性别读者条形码 读者年龄读者条形码 证件号码读者条形码 证件有效时期读者条形码 最大借书量

25、读者条形码 读者电话读者条形码 办证时交纳的押金读者条形码 证件读者条形码 读者职业读者条形码 办证时间读者条形码 操作员编码为了满足2nf,我们把这个表中的操作员编码去掉,此时也满足了3nf,不存在传递函数依赖关系。(8)关系模式借还(图书条形码,图书类别编码,读者条形码 )是由实体间的联系转换的关系模式,读者条形码、图书条形码和图书类别编码为关系的组合码,该关系模式与图书借阅模式具有相同的码,可合并,合并后即图书借阅模式。该模式由两个实体的码和外码组成,没有联系本身的属性,因此没有非主属性之说,是3NF模式。(9) 关系模式 管理(操作员编码,图书条形码,图书类别编码,读者条形码)是六个实

26、体间的联系,其核心实体是操作员,但操作员编码与其它的关系码并不具有函数依赖关系,根据系统的需求,只有管理员凭借管理员的密码登陆才能进入系统对各种实体信息进行管理。该关系模式均由各实体的码组成,且各个实体的关系都符合3NF模式,因此,它属于3NF模式。(10)对于合并后的模式 图书库存(图书条形码,库存数量,订购日期,订购数量,操作员,是否验收,折扣)由于此次设计的应用系统就是管理员进入系统主界面对“基础数据维护”、“图书借阅管理”、“新书订购管理”、“系统维护”四个子系统对各关系模式下的信息进行管理。根据系统需要,合并后的 关系模式不能满足“新书订购管理”子系统的需求,因此关系模式“图书订购”

27、和“库存管理不能合并”。(11) 联系“分类”对应的关系模式如下: 分类(操作员编码,图书类别编码)4.3设计用户子模式为仓库部门建立视图:图书订购:图书条形码、操作员编码、订购数量、是否验收订购部门看不到图书的折扣和订购日期,只要知道自己需要知道的数量和订购部门有没有验收这批货物即可。5.数据库的物理设计5.1确定数据的存储结构 确定数据库的物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。5.2确定数据的存放位置 将表和索引放在不同的磁盘上,在查询时,由于磁盘驱动器并行工作,可以提高物理I/O读写的效率,也可以将比较大

28、的表分放在两个磁盘上,以加快存取速度,这在多用户环境下特别有效;还可以将日志文件与数据库对象(表、索引等)放在不同的磁盘上,以改进系统的性能。5.3确定系统配置 内存分配参数,缓冲区分配参数,存储分配参数,物理块的大小,物理块的装填因子,时间片大小,数据库的大小,锁的数目等。这些参数值都可以影响存取时间和存储空间的分配,在物理设计时就要根据应用环境确定这些参数值,以使系统性能最佳。6.数据库的实施与维护61数据的载入和应用程序的调试611 数据表的建立语句(1)图书信息表的建立CREATE TABLE tb_bookInfo(ISBN varchar(13) PRIMARY KEY NOT N

29、ULL,typeId int NOT NULL,bookname varchar(40) NOT NULL,writer varchar(21) NOT NULL,translator varchar(30),publisher varchar(50) NOT NULL,date smalldatetime NOT NULL,price money NOT NULL)(2)图书类型表的建立CREATE TABLE tb_bookType(id int PRIMARY KEY NOT NULL,typeName varchar(20) NOT NULL,days int ,fk float)(3

30、)图书借阅表的建立CREATE TABLE tb_borrow(id int PRIMARY KEY NOT NULL,bookISBN varchar(13),operatorId int,readerISBN varchar(13),isback int NOT NULL,borrowDate datetime,backDate datetime)(4)图书操作表的建立CREATE TABLE tb_operator(id int PRIMARY KEY NOT NULL, name varchar(12) NOT NULL, sex varchar(2) NOT NULL,age int

31、 NOT NULL,identityCard varchar(30) NOT NULL, workdate datetime NOT NULL, tel varchar(50) NOT NULL, admin bit NOT NULL, password varchar(10) NOT NULL )(5)订购单表的建立CREATE TABLE tb_order (ISBN varchar(13) PRIMARY KEY NOT NULL, date datetime NOT NULL, number int NOT NULL, operator varchar(6) NOT NULL, che

32、ckAndAccept int NOT NULL, zk float NOT NULL )(6)读者信息表的建立CREATE TABLE tb_reader(name varchar(10) NOT NULL,sex varchar(2) NOT NULL,age int NOT NULL,identityCard varchar(30) NOT NULL,date datetime NOT NULL,maxNum int NOT NULL,tel varchar(50) NOT NULL,keepMoneyNOT money NULL,zj int NOT NULL,zy varchar(5

33、0) NOT NULL,readerISBN varchar(13) PRIMARY KEY NOT NULL,bztime datetime NOT NULL)(7)图书库存表的建立CREATE TABLE tb_stockpile(ISBN varchar(13) PRIMARY KEY NOT NULL,amount int)6.1.2数据库关系图6.1.3应用程序的调试为提高数据输入工作的效率和质量,针对具体的应用环境设计一个数据录入子系统,由计算机来完成数据入库的任务,与此同时,还要调试应用程序。(1)登录类BookLoginIFramepublic class BookLoginI

34、Frame extends JFrame private class BookResetAction implements ActionListener public void actionPerformed(final ActionEvent e)username.setText();password.setText();public static int m=0;/静态变量控制内部窗体权限,0的权限最低,1为普通用户权限,2为管理员权限class BookLoginAction implements ActionListener public void actionPerformed(fi

35、nal ActionEvent e) user = Dao.check2(username.getText(), password.getText();/验证身份if (user.getName() != null) /存在该用户user = Dao.check(username.getText(), password.getText();/判断是否为管理员if (user.getName() != null) m=2;user = Dao.check1(username.getText(), password.getText();/判断是否为普通用户if (user.getName() !=

36、 null) m=1;try Library frame = new Library();frame.setVisible(true);BookLoginIFrame.this.setVisible(false); catch (Exception ex) ex.printStackTrace(); else JOptionPane.showMessageDialog(null, 该用户不存在或密码错误!);/username.setText();password.setText();private JPasswordField password;private JTextField user

37、name;private JButton login;private JButton reset;private static Operater user;public BookLoginIFrame() super();final BorderLayout borderLayout = new BorderLayout();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);borderLayout.setVgap(10);getContentPane().setLayout(borderLayout);setTitle(图书馆管理系统登录);set

38、Bounds(100, 100, 285, 194);final JPanel panel = new JPanel();panel.setLayout(new BorderLayout();panel.setBorder(new EmptyBorder(0, 0, 0, 0);getContentPane().add(panel);final JPanel panel_2 = new JPanel();final GridLayout gridLayout = new GridLayout(0, 2);gridLayout.setHgap(5);gridLayout.setVgap(20);

39、panel_2.setLayout(gridLayout);panel.add(panel_2);final JLabel label = new JLabel();label.setHorizontalAlignment(SwingConstants.CENTER);label.setPreferredSize(new Dimension(0, 0);label.setMinimumSize(new Dimension(0, 0);panel_2.add(label);label.setText(用 户 名:);username = new JTextField(20);username.s

40、etPreferredSize(new Dimension(0, 0);panel_2.add(username);final JLabel label_1 = new JLabel();label_1.setHorizontalAlignment(SwingConstants.CENTER);panel_2.add(label_1);label_1.setText(密 码:);password = new JPasswordField(20);password.setDocument(new MyDocument(6);password.setEchoChar(*);/设置密码框的回显字符p

41、assword.addKeyListener(new KeyAdapter() public void keyPressed(final KeyEvent e) if (e.getKeyCode() = 10)login.doClick(););panel_2.add(password);final JPanel panel_1 = new JPanel();panel.add(panel_1, BorderLayout.SOUTH);login=new JButton();login.addActionListener(new BookLoginAction();login.setText(

42、登录);panel_1.add(login);reset=new JButton();reset.addActionListener(new BookResetAction();reset.setText(重置);panel_1.add(reset);final JLabel tupianLabel = new JLabel();ImageIcon loginIcon=CreatecdIcon.add(login.jpg);tupianLabel.setIcon(loginIcon);tupianLabel.setOpaque(true);tupianLabel.setBackground(C

43、olor.GREEN);tupianLabel.setPreferredSize(new Dimension(260, 60);panel.add(tupianLabel, BorderLayout.NORTH);setVisible(true);setResizable(false);public static Operater getUser() return user;public static void setUser(Operater user) BookLoginIFrame.user = user;(2)主菜单Library/* * 主窗体 * */public class Li

44、brary extends JFrame implements ActionListener private static final JDesktopPane DESKTOP_PANE = new JDesktopPane();public static void main(String args) try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();/设置窗体风格new BookLoginIFrame();/登录窗口 catch (Exception ex) ex.printStackTrace();

45、public static void addIFame(JInternalFrame iframe) / 添加子窗体的方法DESKTOP_PANE.add(iframe);public Library() super();setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setLocationByPlatform(true);setSize(800, 600);setTitle(图书馆管理系统);JMenuBar menuBar = createMenu(); / 调用创建菜单栏的方法setJMenuBar(menuBar);JTo

46、olBar toolBar = createToolBar(); / 调用创建工具栏的方法getContentPane().add(toolBar, BorderLayout.NORTH);final JLabel label = new JLabel();label.setBounds(0, 0, 0, 0);label.setIcon(null); / 窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) Dimens

47、ion size = e.getComponent().getSize();label.setSize(e.getComponent().getSize();label.setText(););DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE);getContentPane().add(DESKTOP_PANE);/* * 创建工具栏 * * return JToolBar */private JToolBar createToolBar() / 创建工具栏的方法JToolBar toolBar = new JToolBar();tool

48、Bar.setFloatable(false);toolBar.setBorder(new BevelBorder(BevelBorder.RAISED);JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);/ImageIcon icon=CreatecdIcon.add(bookAdd.bmp);/创建图标方法ImageIcon icon=new ImageIcon(Library.class.getResource(/bookAddtb.jpg);/添加菜单栏图标bookAddButton.setIcon(icon);bookAd

49、dButton.setHideActionText(true);toolBar.add(bookAddButton);/在工具栏中添加图书修改与删除图标JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);ImageIcon bookmodiicon=CreatecdIcon.add(bookModiAndDeltb.jpg);/创建图标方法bookModiAndDelButton.setIcon(bookmodiicon);bookModiAndDelButton.setHideActionText(true);t

50、oolBar.add(bookModiAndDelButton);JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);ImageIcon bookTypeAddicon=CreatecdIcon.add(bookTypeAddtb.jpg);/创建图标方法bookTypeAddButton.setIcon(bookTypeAddicon);bookTypeAddButton.setHideActionText(true);toolBar.add(bookTypeAddButton);JButton bookBorrow

51、Button=new JButton(MenuActions.BORROW);ImageIcon bookBorrowicon=CreatecdIcon.add(bookBorrowtb.jpg);/创建图标方法bookBorrowButton.setIcon(bookBorrowicon);bookBorrowButton.setHideActionText(true);toolBar.add(bookBorrowButton);JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER);ImageIcon bookOrder

52、icon=CreatecdIcon.add(bookOrdertb.jpg);/创建图标方法bookOrderButton.setIcon(bookOrdericon);bookOrderButton.setHideActionText(true);toolBar.add(bookOrderButton);JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK_ACCEPT);ImageIcon bookCheckicon=CreatecdIcon.add(newbookChecktb.jpg);/创建图标方法bookChec

53、kButton.setIcon(bookCheckicon);bookCheckButton.setHideActionText(true);toolBar.add(bookCheckButton);JButton readerAddButton=new JButton(MenuActions.READER_ADD);ImageIcon readerAddicon=CreatecdIcon.add(readerAddtb.jpg);/创建图标方法readerAddButton.setIcon(readerAddicon);readerAddButton.setHideActionText(tr

54、ue);toolBar.add(readerAddButton);JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY);ImageIcon readerModiAndDelicon=CreatecdIcon.add(readerModiAndDeltb.jpg);/创建图标方法readerModiAndDelButton.setIcon(readerModiAndDelicon);readerModiAndDelButton.setHideActionText(true);toolBar.add(readerModiAndDelButton);JButton ExitButton=new JButton(MenuActions.EXIT);ImageIcon Exiticon=CreatecdIcon.add(exittb.jpg);/创建图标方法ExitButton.setIcon(Exiticon);ExitButton.setHideActionText(true);toolBar.add(ExitButton);return tool

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!