ImageVerifierCode 换一换
格式:DOCX , 页数:35 ,大小:2.73MB ,
资源ID:8876190      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

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

注意事项

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

图书销售系统.docx

1、 数据库原理 课程设计 评语: 学 院 计算机工程 班 级 计算1013 姓 名 陈高伟 学 号 2010810070 成 绩 指导老师 林颖贤 2013年 1 月9日 目录 第一章 引言 2 1.1 课题研究背景与意义 2 1.2 本课题研究内容与目标 2 1.3 开发环境 2 1.4体系结构设计 2 第二章 需求分析 4 2.1 信息要求 4 2.2 处理要求. 4

2、 2.3 数据字典. 5 2.4 安全性和完整性要求. 7 第三章 概念结构设计 8 3.1 总ER图 8 第四章 逻辑结构设计 9 4.1 关系模型 9 4.2 数据模型优化 9 第五章 数据库的实施和维护 11 5.1 存储过程设计 11 5.2 触发器设计 12 5.3 模块设计 15 结术语 35 参考文献 35 第一章 引言 1.1 课题研究背景与意义 现如今图书销售行业发展迅速,大大小小的书店到处可见,特别是一些发展较大的书城采用大规模的连锁经营方式。随着规模的扩大传统的图书管理已经不能适应发展的需要。图书管理工作繁

3、琐,销售频繁,包含大量的信息数据,因此就需要一个完善的图书销售管理系统来实现对这些数据的有效管理。本系统主要任务就是对书店、图书、顾客、销售信息、查询进行统一管理,满足各类用户的需求。本系统在功能上要实现书店进货功能,图书统计功能,书店销售功能等。我通过对世面上的书城如新华书店和学校里的小书店进行了初步的了解,发现其业务主要是集中在对图书的管理和图书的销售上。对图书的管理工作量较大,采用手工的方式还容易出错,并且不能满足顾客对图书的详细的查询功能。本系统在设计中考虑和克服了上诉的诸多问题,增强了实用性。 1.2 本课题研究内容与目标 1.2.1 研究内容 本课题是通过SQL Ser

4、ver和相应的面相对象语言来制作一个面相书店用户的图书销售管理系统。 1.2.2 研究目标 本图书销售管理系统就是要求图书管理人员通过该系统对图书、顾客、管理员、购买信息等进行统一管理,从而实现功能上的销售图书、管理图书库存量、图书信息、顾客信息和用户信息以及相应信息查询。这就要求管理人员能够对数据库熟悉操作,简单的表查询、触发器的建立、存储过程的建立以及用户自定义函数的建立等等这些管理数据库的方法都能对图书馆里系统的管理起到事半功倍的效果。最后通过应用这些命令来建立一个完整的图书销售管理系统。 1.3开发环境 本图书销售管理系统的开发语言是JAVA,开发环境是MyEclipse 8

5、6,数据库采用SQL Server 2008。 1.4 体系结构设计 本次课程设计的图书销售管理系统采用了C/S体系结构设计,即采用了客户端和服务器,这里的客户端主要是应用程序界面,服务器是数据库后台。通过对前台界面的操作,来实现相应的对数据库信息的增、删、改功能,如果操作正确则将运行显示相应结果,对应修改后台数据库内容,信息一旦提交,将不能修改;前台页面也调用后台数据库编写好的存储过程和触发器,来实现操作,客户端也有很好的权限控制,这样是为了防止用户的恶意操作,比如说:在登录界面,只有密码和登录名都正确才能进入系统,并且不同的方式将进入不同的操作页面。 登陆

6、系统 登陆验证 y n 用户管理 提示错误 管理员信息 图书销售管理系统 一般用户信息 图书信息添加 图书信息管理 图书信息修改 进货管理 顾客信息添加 顾客信息管理 顾客信息修改 销售管理 关闭系统 退出 直接退出 第二章、需求分析 2.1 信息要求 图2-1 2.2 处理要求

7、 图书销售管理系统 用户登录 图书入库 信息 用户信息修改 用户信息添加 顾客信息修改 顾客信息添加 图书销售信息 图书信息查询 图书 信息删除 图书 信息添加 图书信息修改 2.3 数据字典 2.3.1数据项 2-1图书表 列名 中文名 数据类型 是否允许空 备注 Book_id 图书编号 varchar(13) 否 主键 Typeid 图书类型编号 varchar(13) 否 外键 Bookname 图书名称

8、 varchar(40) 否 Writer 作者 varchar(21) 否 Translator 翻译者 varchar(30) 是 Publisher 出版社 varchar(50) 是 Date 出版时间 Datetime 是 Price 价格 Money 是 Insum 库存量 Int 是 2-2 顾客表 列名 中文名 数据类型 是否允许空 备注

9、 Reader_id 顾客编号 varchar(13) 否 主键 kname 顾客姓名 varchar(10) 否 Sex 性别 varchar(2) 是 Age 年龄 Int 是 Identitycard 身份证号 varchar(30) 否 Tel 电话号码 varchar(50) 是 2-3购书信息表 列名 中文名 数据类型 是否允许空 备注 Id 订单编号 in

10、t 否 主键 Book_id 图书编号 varchar(13) 否 外键 Reader_id 顾客编号 varchar(13) 否 外键 Buynum 购买数量 int 是 默认为1 Buydate 购买日期 Datetime 否 默认为系统时间 Buybookname 图书姓名 varchar(40) 是 2-4管理员(用户)表 列名 中文名 数据类型 是否允许空 备注 Id 用户id Int 否 主键 Yname 管理员姓名 varc

11、har(20) 否 Sex 性别 varchar(2) 是 Tel 电话号码 varchar(12) 是 Ypassword 管理员密码 varchar(10) 是 Ytype 管理员权限 varchar(1) 是 2-5进货表 列名 中文名 数据类型 是否允许空 备注 Book_id 图书编号 varchar(13) 否 外键,唯一 Date 进货时间 Datetime 否 Number 进货量 I

12、nt 否 Operator 操作管理员 varchar(6) 否 Checkandaccept 是否验收 Int 否 Zk 折扣 Float 是 2-6图书类型表 列名 中文名 数据类型 是否允许空 备注 Id 图书类型编号 varchar(13) 否 主键 Typename 图书类型名称 varchar(20) 否 2.3.2、数据结构 图书表(book_id,typeid,bookname,writer,translator,publisher,da

13、te,price,insum); 顾客表(reader_id,kname,sex,age,identitycard,tel); 购书信息表(id,book_id,reader_id,buynum,buydate,buybookname); 管理员(用户)表(id,yname,sex,tel,ypassword,ytype); 进货表(book_id,date,number,operator,checkandaccept,zk); 图书类型表(id,typename)。 2.3.3、数据流 编号 名称 来源 去向 组成 1 身份信息 系统管理员,一般管理员 应用系统

14、 登录名+密码 2 授权信息 应用系统 系统管理员,一般管理员 3 错误身份信息 应用系统 系统管理员,一般管理员 4 查询请求 系统管理员,一般管理员 应用系统 查询对象识别符(如book_id,reader_id等) 5 查询结果 应用系统 系统管理员,一般管理员 被查询对象具体信息 6 管理请求 系统管理员,一般管理员 应用系统 识别符(book_id等)+类型 7 管理结果信息 应用系统 系统管理员,一般管理员 被管理对象处理结果 8 非法请求 应用系统 系统管理员,一般管理员 非法请求提示信息 9 修改请

15、求 系统管理员,一般管理员 应用系统 被修改对象具体信息 2-6 数据流表 2.3.4、数据存储 图书表:用于存放图书信息; 顾客表:用于存放顾客信息; 购书信息表:用于存放图书销售报表; 管理员(用户)表:用于存放管理员信息; 进货表:用于存放图书进货信息; 图书类型表:用于存放图书类型信息。 2.4 安全性和完整性要求 2.4.1安全性 系统具有较高的安全性能,在SQLServer中定义存储过程及相应的触发器来区分系统管理员与一般管理员的权限,实现安全性。 系统管理员登入名和密码输入正确后可才可进入系统,而且只有系统管理员(书店店主)在数据库中添加了

16、一般管理员后,并且这些一般管理员登录名和密码的输入正确之后才能进入系统对销售系统进行操作,否则系统将拒绝用户的非法访问,以保证系统的安全,并且系统也控制了普通用户和系统管理员的权限,防止用户恶意操作或者不是故意的操作导致后台数据库的不一致。 2.4.1完整性 系统为了保证数据的完整性,在数据库里面写了许多触发器,比如当用户进行图书信息添加操作的时候,可以自动更改图书表里面的库存量;用户进行销售操作后通过触发器也可以修改图书表的对应图书的库存量等。据此来维护数据库的数据完整性,并且在进行用户界面交互操作的时候,会判断输入的信息,如果信息有误或者无意义,系统将拒绝对后台数据库的更改

17、因此系统具有很强的数据完整性。 第三章、概念结构设计 3.1总ER图 图3-1整体E-R图 第四章、逻辑结构设计 4.1 关系模型 图4-1 4.2数据模型优化 1.图书类型表(图书类型编号,图书类型名) 函数依赖:图书类型编号 -----> 图书类姓名 从函数依赖图可以看出,该关系中不存在部分函数依赖、传递函数依赖,且只有图书类型编号能

18、够确定其它各项。所以该关系是BCNF范式。 2.图书表(图书编号,图书类型编号,图书名称,作者名,译者名,出版社,出版日期,价钱,库存量) 函数依赖:图书编号------->图书名称, 图书编号----->作者名,图书编号----->译者名, 图书编号 ----->出版社,图书编号---->出版日期,图书编号---->价钱,图书编号---->库存量 从函数依赖图可以看出,该关系中不存在部分函数依赖、传递函数依赖,且只有图书编号能够确定其它各项。所以该关系是BCNF范式。 3. 顾客表(顾客编号,顾客名称,性别,年龄,证件号码,电话号码) 函数依赖:顾客编号------>顾客名称,

19、顾客编号------>性别,顾客编号------>年龄,顾客编号------>证件号码,顾客编号------>电话号码。 从函数依赖图可以看出,该关系中不存在部分函数依赖、传递函数依赖,且只有顾客编号能够确定其它各项。所以该关系是BCNF范式。 4. 订购信息表(订单号,图书编号,客户编号,购买数量,销售时间,销售日期,图书名称) 函数依赖:订单号--->客户编号,订单号--->购买数量,订单号--->销售时间,订单号--->销售日期,订单号--->图书名称,订单号---->图书编号,图书编号--->图书名称。 从函数依赖图可以看出,该关系中不存在部分函数依赖,但存在传递函

20、数依赖(订单号---->图书编号,图书编号--->图书名称)故需对表进行分表: 分表一(订单号,图书编号,客户编号,购买数量,销售时间,销售日期) 分表二(图书编号,图书名称) 经过分表后,实现了关系中不存在部分函数依赖、传递函数依赖,所以改后的关系是第三范式。 5. 管理员表(管理员编号,管理员名称,性别,电话号码,密码,管理员级别) 函数依赖:管理员编号----->管理员名称,管理员编号----->性别,管理员编号----->电话号码,管理员编号----->密码,管理员编号----->管理员级别 从函数依赖图可以看出,该关系中不存在部分函数依赖、传递函数依赖,且只有

21、管理员编号能够确定其它各项。所以该关系是BCNF范式。 6.进货表(图书编号,进货日期,进货数量,操作员,是否验收,折扣) 函数依赖:图书编号----->进货日期,图书编号----->进货数量,图书编号----->操作员,图书编号----->是否验收,图书编号----->折扣。 从函数依赖图可以看出,该关系中不存在部分函数依赖、传递函数依赖,且只有图书编号能够确定其它各项。所以该关系是BCNF范式。 第五章、数据的实施与维护 5.1存储过程设计 因为在设计系统的时候,数据库信息的增、删、改以及查

22、询都是用Java直接在java语句里面嵌套SQL语句来实现功能,在数据库中存储过程的设计主要是针对数据库安全性、图书信息模糊查找和数据库备份恢复这块。 存储过程名 功能 入口参数 权限 proc_role_grant 创建一般管理员角色 所要创建的角色名 系统管理员、一般管理员 proc_模糊查找 实现图书信息的模糊查找 查找的字符模式串 系统管理员、一般管理员 sq_backup 实现备份数据库 数据库名 系统管理员 1.功能—创建一般管理员角色 参数—所要创建的角色名 存储过程名:proc_role_grant create pr

23、oc proc_role_grant @rname varchar(20) as begin declare @sqlstr varchar(255) --sql语句的字符串 set @sqlstr='create role '+@rname+' authorization dbo' exec (@sqlstr) set @sqlstr='grant select,insert,update,delete on bookinfo to '+@rname exec (@sqlstr) set @sqlstr='grant select,insert,update,delete

24、on booktype to '+@rname exec (@sqlstr) set @sqlstr='grant select,insert,update,delete on buy to '+@rname exec (@sqlstr) set @sqlstr='grant select,insert,update,delete on ordert to '+@rname exec (@sqlstr) set @sqlstr='grant select,insert,update,delete on reader to '+@rname exec (@sqlstr) s

25、et @sqlstr='deny select,insert,update,delete on operator to '+@rname exec (@sqlstr) end go 2.功能—实现图书信息的模糊查找 参数—查找的字符模式串 存储过程名:proc_模糊查找 代码如下: create procedure proc_模糊查找 @模式串 varchar(20) as begin declare @posion int declare @s varchar(30),@string varchar(30) set @posion=

26、1--初始化,求字串的起始位置 set @s='%' while @posion<=len(@模式串)--当位置大于模式串长度相等的时候,退出循环 begin select @string=substring(@模式串,@posion,1)--取字串 set @s=@s+@string+'%'--连接字符串 set @posion=@posion+1 end print @s select * from bookinfo where bookname like @s end go 3.功能—实现备份数据库

27、 参数—数据库名 存储过程名:sq_backup 代码如下: create proc sq_backup @db_name varchar(20) as begin declare @strsql varchar(255) set @strsql='sp_addumpdevice ''disk'','''+@db_name+'备份设备'',''d:\'+@db_name+'备份设备.bak''' exec (@strsql) set @strsql='backup database '+@db_name+' to '+@db_name+'备份设备with n

28、ame='''+@db_name+'_'+convert(varchar,getdate(),120)+'''' exec (@strsql) end go 5.2 触发器设计 触发器名 功能 类型 作用表 operator_insert 用户插入触发创建对应数据库用户,并授予相关权限 insert 用户表(operator) bookinfo_insert 触发器实现插入一条图书信息,库存量自动加1 insert 图书表(bookinfo) bookinfo_update 创建更新触发器,库存量为0时提醒管理员订购新书 update 图书表(bo

29、okinfo) buy_insert 触发器实现销售带动图书表库存量修改 insert 销售表(buy) ordert_insert 触发器实现新书订购来补充对应图书库存量 Insert 进货表(ordert) 表5-1 代码: --用户插入触发创建对应登录名和数据库用户,并授予相关权限----------- create trigger operator_insert on operator for insert as begin declare @sqlstr varchar(255) --sql语

30、句的字符串 declare @type varchar(1),@name varchar(20) select @type=ytype,@name=yname from inserted set @sqlstr='create user '+@name+' for login cgw with default_schema=dbo' exec (@sqlstr) if @type='1' begin exec sp_addrolemember 'db_owner',@name end else begin if @type='2' begin

31、exec sp_addrolemember 'Role_Emp',@name end else rollback end end go --触发器插入一个图书信息,库存量自动加------- create trigger bookinfo_insert on bookinfo for insert as begin declare @bookid varchar(13) select @bookid=book_id from inserted if exists(select * from bookinfo where book_id=@boo

32、kid) update bookinfo set insum=insum+1 where book_id=@bookid else update bookinfo set insum=1 where book_id=@bookid end go --创建更新触发器,库存量为时提醒管理员订购新书------ create trigger bookinfo_update on bookinfo for update as begin declare @sum int select @sum=insum from inserted if @sum=0

33、 begin print '这本书的库存不足了,请及时补充!' end end go --触发器实现销售带动图书表库存量修改---- create trigger buy_insert on buy for insert as begin declare @bookid varchar(13) select @bookid=book_id from inserted update bookinfo set insum=insum-1 where book_id=@bookid end go --触发器实现新书订购来补充对应图书库存量

34、 create trigger ordert_insert on ordert for insert as begin declare @in_num int,@bkid varchar(13) select @in_num=number,@bkid=book_id from inserted update bookinfo set insum=insum+@in_num where book_id=@bkid end go 5.3 程序的模块设计 图5-1 注释:管理员登录,输入的登录名和密码与管理员表里面的

35、信息进行匹配,当两者都匹配成功才进入管理员操作界面。 关键代码如下: private class BookLoginAction implements ActionListener { public void actionPerformed(final ActionEvent e) { user = Business.check(username.getText(), new String(password.getPassword()));//调用business方法 if (user.getName() != null) {//判断用户名是否为null

36、 try { Main frame = new Main();//登陆成功,创建一个主窗体 frame.setVisible(true);//设置其可见 BookLogin.this.setVisible(false);//设置登录窗体为不显示 } catch (Exception ex) { ex.printStackTrace(); } } else { JOptionPane.showMessageDialog(null, "请输入正确的用户名和密码!");//弹出提示框

37、 username.setText("");//设置用户名输入框为空 password.setText("");//设置密码输入框为空 } } } } 图5-2 注释:在java中创建一个Main类来显示系统操作界面。 关键代码如下: package main; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ComponentAdapter; import java.awt.ev

38、ent.ComponentEvent; //import .URL; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JDesktopPane; import javax.swing.JFrame; import javax.swing.JInternalFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing

39、JToolBar; import javax.swing.UIManager; import javax.swing.WindowConstants; import javax.swing.border.BevelBorder; import form.BookLogin; import tool.Icon; /** * 主窗体 * */ public class Main extends JFrame { private static final JDesktopPane DESKTOP_PANE = new JDesktopPane()

40、//桌面窗体 public static void main(String[] args) { //入口方法 try { UIManager.setLookAndFeel(UIManager .getSystemLookAndFeelClassName());//设置系统界面外观 new BookLogin();//登录窗口 } catch (Exception ex) { ex.printStackTrace(); } } public static void addIFame(JInternalFrame ifram

41、e) { // 添加子窗体的方法 DESKTOP_PANE.add(iframe); //新增子窗体 } public Main() { super(); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);////设置关闭按钮处理事件 Toolkit tool = Toolkit.getDefaultToolkit(); //获得默认的工具箱? Dimension screenSize = tool.getScreenSize(); //获得屏幕的大小 setSize(800,

42、600); //设置窗体大小 setLocation((screenSize.width - getWidth()) / 2, (screenSize.height - getHeight()) / 2); //设置窗体位置 setTitle("图书销售管理系统"); //设置窗体标题 JMenuBar menuBar = createMenu(); //调用创建菜单栏的方法 setJMenuBar(menuBar); //设置菜单栏 JToolBar toolBar = createToolBar(); //

43、 调用创建工具栏的方法 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(

44、final ComponentEvent e) { Dimension size = e.getComponent().getSize();//获得组件大小 label.setSize(e.getComponent().getSize());//设置标签大小 label.setText("45、'>");//设置标签文本,设置窗口背景 } }); DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE));//将标签添加到桌面窗体? getContentPane().add(DESKTOP_PANE);//将桌面窗体添加到主窗体中 } /** * 创建工具栏 * * @return JToolBar */ private JToolBar createToolBar() { // 创建工具栏的方法 JToolBar toolBar = new JToo

46、lBar(); //初始化工具栏 toolBar.setFloatable(false); //设置是否可以移动工具栏 toolBar.setBorder(new BevelBorder(BevelBorder.RAISED));//设置边框 JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);//图书信息添加按钮 ImageIcon icon=new ImageIcon(Main.class.getResource("/bookAddtb.jpg"));//添加菜单栏图标

47、 bookAddButton.setIcon(icon);//设置按钮图标 bookAddButton.setHideActionText(true);//显示提示文本 toolBar.add(bookAddButton);//添加到工具栏中 JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);//图书信息修改按钮 ImageIcon bookmodiicon=Icon.add("bookModiAndDeltb.jpg");//创建图标方法 bookModiAndDelBut

48、ton.setIcon(bookmodiicon);//设置按钮图标 bookModiAndDelButton.setHideActionText(true);//显示提示文本 toolBar.add(bookModiAndDelButton);//添加到工具栏中 //////////////////////////////////////////////////////////////////////////////////////////// JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD

49、);//图书类别添加按钮 ImageIcon bookTypeAddicon=Icon.add("bookTypeAddtb.jpg");//创建图标方法 bookTypeAddButton.setIcon(bookTypeAddicon);//设置按钮图标 bookTypeAddButton.setHideActionText(true);//显示提示文本 toolBar.add(bookTypeAddButton);//添加到工具栏中 JButton bookBorrowButton=new JButton(MenuActions.BORROW); //图书借阅按钮 ImageIcon bookBorrowicon=Icon.add("bookBorrowtb.jpg");//创建图标方法 bookBorrowButton.setIcon(bookBorrowicon);//设置按钮图标 bookBorrowButton.setHideActionText(true);//显示提示文本 toolBar.add(bookBorrowButton);//添加到工具栏中 JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服