1、学 号_0809121022 毕 业 论 文(设计)课 题 基于 Java 的图书管理系统开发 学生姓名 施 会 勇 系 别 电气工程系 专业班级 电子信息工程 指导教师 崔 雪 英 二 0 一二 年 五 月铜陵学院毕业论文(设计)I目 录插图清单 .II摘 要 IIIAbstract .IV第一章 综述 .11.1 图书馆管理系统开发背景 .11.2 图书馆管理系统的目的和意义 .21.3 Java 语言的简单介绍 .21.4 MVC 模式的介绍以及在本系统中的使用 2第二章 系统分析设计 .42.1 系统目标 .42.2 系统功能结构 .42.3 系统流程图 .4第三章 数据库的设计 .6
2、3.1 数据库分析 .63.2 数据库概念设计 .6第四章 主窗体设计 .84.1 主窗体概述 .84.2 主窗体的实现过程 .8第五章 登录模块设计 135.1 登录模块概述 135.2 登录模块的实现过程 13第六章 图书管理模块设计 186.1 图书信息管理模块概述 186.2 图书信息管理模块实现过程 186.2.1 图书信息的添加模块实现 186.2.2 图书借阅模块的实现 216.2.3 图书归还模块的实现 216.2.4 图书查询模块的实现 24结论 .25参考文献 .26致谢 .27施会勇:基于 Java 的图书管理系统开发II插图清单图 2-1 图书馆管理系统功能结构 4图
3、2-2 图书馆管理系统业务流程图 5图 3-1 图书信息实体 E-R 图 6图 3-2 读者信息实体 E-R 图 7图 3-3 图书借阅信息实体 E-R 图 7图 3-4 图书订购信息实体 E-R 图 7图 4-1 图书馆管理系统主界面运行图 12图 5-1 图书馆管理系统登录运行图 15图 6-1 图书信息添加运行图 21图 6-2 图书借阅管理运行图 22图 6-3 图书归还管理运行图 23图 6-4 图书查询运行图 24铜陵学院毕业论文(设计)III基于 Java 的图书管理系统开发摘 要进入 21 世纪以来,信息技术从根本上推动了图书馆的飞速发展,计算机和计算机管理系统已成为图书馆进行
4、图书管理的主要设备和系统。虽然目前很多大型的图书馆已经有一套比较完善的管理系统,但是在一些中小型的图书馆中,大部分工作仍需手工完成,工作起来效率比较低,不便于动态,及时地调整图书结构。为了更好的适应当前图书馆的管理需求,解决手工管理中存在的弊端,越来越多的中小型图书馆正在逐步向计算机信息化管理转变。本文在此背景下运用 Java 技术开发了图书管理系统。这个系统可以帮助管理员方便快捷的管理图书以及用户信息。同时具有查询方便,搜索速度很快等特点。在 MySQL 数据库的支持下,这款系统的存储信息量巨大,保密性能很强。在分析了图书馆管理系统的需求基础上,本文完成了对系统功能的划分,数据库的设计,界面
5、程序以及系统逻辑功能程序的设计。系统运行证明,本文所设计的图书管理系统能够满足读者以及管理员的双方要求。关键字:图书管理; 信息技术; 数据库;Java 施会勇:基于 Java 的图书管理系统开发IVAbstractSince the beginning of the 21st century, information technology fundamentally promote the rapid development of the library, computers and computer systems have become a library book management
6、 equipment and systems. Although currently many large libraries have a set of relatively complete management system, but in some small and medium-sized library, most of the work still needs to manually complete, work efficiency is relatively low, does not facilitate dynamic and timely adjustments to
7、 the structure of books. In order to better adapt to the current library management needs to solve the drawbacks of manual management, more and more small and medium-sized library is gradually shift to the computer information management. In this context, has developed a library management system us
8、ing Java technology. This system can help administrators convenient management books, and user information. Also has convenient query, the search is fast and so on. MySQL database support, a huge amount of information of this system of storage, the strong performance of confidentiality. On the basis
9、 of analysis of the needs of the library management system, completed the division of the system functions, database design, interface design of the program and system logic function program. System operation proves that the library management system designed to meet both the readers and administrat
10、ors requirements Key Words: Books manage; Information technology; Databases; Java铜陵学院毕业论文(设计)- 1 -第一章 综述随着各高校图书馆的图书数量不断增多和图书馆规模的不断扩大,管理这些庞大的图书体系非常困难的,因为图书的情况是随时改变的,因此必需对图书进行动态的管理,而这对于一个管理人员来说是一件比较复杂的事情,存储、查询、借阅是必不可少的业务。为了能让管理员比较轻松的工作,使管理员在使用一个软件以后能极其容易地对所有图书进行管理,并且准确无误,轻松自如。因此开发一个图书馆管理软件是当务之急,也是本毕业设
11、计选题的重要意义和研究宗旨。图书馆管理系统的流通部分是所有图书馆系统中最重要的部分,流通系统将读者与图书、读者与管理员、读者与读者相互间联系起来,而且流通系统处理的数据类型多,数量大,精细且频繁,因而需要系统应具备较完善的检验防错功能,从而根据系统的运行及反馈信息高质量,高效率地管理系统流通部门的全部功能。1.1 图书馆管理系统开发背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的
12、优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规
13、范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程
14、序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。施会勇:基于 Java 的图书管理系统开发- 2 -1.2 图书馆管理系统的目的和意义我们要实现科学技术现代化,图书情报工作的现代化是极其重要的,又由于科学和技术的不断发展和进步,现代技术是一个动态的概念.第二次世界大战以来,以计算机技术为代表的现代技术有了巨大的发展,而且还在迅速的变化发展之中,70 年代后期,出现图书情报工作的 “联机革命”,使计算机更广泛地,更有效的应用到各个角落,发达国家较重视这一领域的发展,我国尚存在较大的差距。所以我们说,图书情报工作计算机化是提高我国科学技术水平的一项
15、带有重大战略意义的措施,它是图书情报工作现代化的重要标志。计算机技术是现代技术的一部分,图书自动化也只是图书馆现代化的一部分,它们之间是部分和整体的关系,但由于计算机技术是信息技术的心脏,现代社会的骄子,信息社会的科技主角,所以在图书馆现代技术中,计算机技术处于核心地位,它对于其他现代化设备起控制,连接和转换的作用,而图书馆自动化是图书馆现代化的核心和主导部分。图书情报的计算机管理系统能提高图书馆本身管理水平,能代替工作人员进行图书情报资料的某些加工处理,把工作人员从繁重的手工劳动,重复劳动中解放出来。总之,建立图书馆的计算机自动化管理系统,不但可以大大提高图书馆图书流通率,而且推动了社会文化
16、生活的进步。本论文以图书馆管理信息系统的需求分析及概念设计为切入点,运用理论与实际相结合的方法,构建一个包含读者信息,书籍信息和借阅信息的图书馆管理系统。图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。因此本人结合开放式图书馆的要求,对 MySQL 数据库、Java 程序设计进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。希望本文所设计的图书馆管理系
17、统能够满足借阅者和图书馆管理人员的需求。1.3 Java 语言的简单介绍Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是有 Sun Microsystems 公司与 1995 年 5 月推出的 Java 程序设计语言和 Java 平台(即JavaSE,JavaEE,JavaME )的总称。Java 技术具有卓越的通用性,高效性,平台移植性和安全性,广泛应用于个人 PC,数据中心,游戏控制台,科学超级计算机,移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java 更具备了显著优势和广阔前景。 基于 Java 的可移植性和高效性等特点,
18、在设计本系统的时候选用了 Java 语言。铜陵学院毕业论文(设计)- 3 -1.4 MVC 模式的介绍以及在本系统中的使用MVC 是三个单词的缩写,分别为:模型(Model),视图 (View),控制(Controller)。MVC 模式的目的就是实现系统的职能分工。Model 层实现系统中的业务逻辑,通常可以用JavaBean 或 EJB 来实现。View 层用于与用户的交互,通常在 C/S 系统中用 swing+AWT实现,在 B/S 系统中常用 jsp 来实现。Controller 层是 Model 与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可
19、以解释用户的输入并将它们映射为模型层可执行的操作。本系统采用了 C/S 结构。C/S 结构的优点是能充分发挥客户端 PC 的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。C/S 结构软件(即客户机/服务器模式)分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分 ERP(财务)软件产品即属于此类结构。在本系统
20、中模型(Model)层运用 JavaBean 技术,完成了各部分功能的实现,包括基础数据维护,图书借阅管理,新书订购管理和系统维护部分。视图(View)层主要运用 Swing技术,完成了对主界面,订阅界面等的显示。控制层(Controller)的作用是整合模型层和视图层。用户在界面层点击的事件,会通过控制层调用模型层相应的处理,从而形成相应的处理结果显示在界面中。通过运用 MVC 思想后,整个系统将会显得很清晰,使代码更加的清晰。也方便以后的维护。施会勇:基于 Java 的图书管理系统开发- 4 -第二章 系统分析设计作为一款图书管理系统,首先要完成它的基本功能。在本次设计中,将根据调查过程后
21、形成的流程图,将系统分为基础数据维护,图书借阅管理,新书订购管理以及系统维护四大功能模块。在完成功能的设计过程中,要尽量使系统达到一些基本目标,下面将详细的介绍系统的整体结构以及需要达到的目标。2.1 系统目标根据对系统的分析,该系统应达到以下目的。1. 界面设计友好、美观2. 数据存储安全、可靠3. 信息分类清晰、准确4. 强大的查询功能、保证数据查询的灵活性5. 系统安全、稳定6. 开发技术先进、功能完备、扩展性强7. 占用资源小、对硬件要求低8. 提供灵活、方便的权限设置功能、使整个系统的管理分工明确2.2 系统功能结构图书馆管理系统分为 4 大功能模块,分别为“基础数据维护” 、 “图
22、书借阅管理” 、“新书订购管理”和“系统维护” 。本系统各个部分及其包括的具体功能模块如图 2-1 所示:图书馆管理系统基础数据维护 图书借阅管理 新书订购管理 系统维护读者信息管理图书信息管理图书类别管理图书借书管理图书还书管理图书查询新书订购验收订书用户管理更改密码铜陵学院毕业论文(设计)- 5 -图 2-1 图书馆管理系统功能结构2.3 系统流程图图书馆管理系统的业务流程如图 2-2 所示:图书馆管理系统图书相关信息图书修改图书添加图书类别相关信息图书类别添加类别修改读者修改与删除读者相关信息管理员登录基础数据维护读者信息管理图书类别管理图书信息管理读者添加图书借阅管理图书借阅图书归还图
23、书查询图书相关信息新书订购管理读者信息录入新书订购读者验收新书订购相关信息系统维护更改密码操作员相关信息 用户添加 用户管理管理员施会勇:基于 Java 的图书管理系统开发- 6 -图 2-2 图书馆管理系统业务流程图第三章 数据库的设计通常作为一个管理软件,它的数据部分都是由数据库来存储和管理的。在本设计中数据库承担了图书信息和读者信息。在如今的数据库产品中,有很多成熟的产品,如oracle, DB2, SQL Server,MySQL 等,图书馆管理系统应用于高校的图书馆中,用户数据以及图书的信息数据并不是很大。考虑到成本,选用了 MySQL 数据库。下面将详细的为您介绍本设计中数据库的选
24、择以及数据库的概念设计等。3.1 数据库分析MySQL 具有很强的完整性与可伸缩性,性价比很高。考虑到本系统的稳定性、可靠性,我决定在设计该系统是选择 MySQL 数据库来满足系统的需求。3.2 数据库概念设计根据以上对系统所作的需求分析、系统设计,规划出本系统中使用的数据库实体分别为图书信息实体、图书分类实体、图书订购实体、读者信息实体、图书借阅信息实体、库存信息实体。以下为几个关键实体的 E-R 图。1. 图书信息实体图书信息实体包括图书编号、图书类别编号、书名、作者、出版社、价格、出版时间等属性。其中图书编号为图书信息实体的主键,图书类别编号为图书信息实体的外键,与图书分类实体具有外键关
25、系。图 3-1 图书信息实体 E-R 图2. 读者信息实体用户修改与添加编号 类别编号 书名 作者出版社 价格 出版时间图书铜陵学院毕业论文(设计)- 7 -读者信息实体包括条形码、姓名、性别、年龄、电话、办证日期、证件号码等属性。其中条形码作为本实体的唯一标识。图 3-2 读者信息实体 E-R 图3. 图书借阅信息实体图书借阅信息实体包括编号、图书编号、读者编号、是否归还、借阅日期、归还日期等属性。编号作为图书借阅信息实体的唯一标识,包括两个外键,分别为图书编号与读者编号。图 3-3 图书借阅信息实体 E-R 图4. 图书订购实体图书订购实体主要包括图书编号,订购日期、订购数量、是否验收等属
26、性。图书订购实体以图书编号与图书信息实体建立了关系。条形码 姓名 性别 年龄电话 办证日期 证件号码读者编号 图书编号 读者编号是否归还借阅日期 归还日期图书借阅订购日期 图书编号 订购数量图书订购施会勇:基于 Java 的图书管理系统开发- 8 -图 3-4 图书订购信息实体 E-R 图第四章 主窗体设计在整个系统中,主窗体部分显示了本系统的所有功能。在主窗体的设计中运用了Swing 技术,完成了对菜单栏以及工具栏的设计。管理员通过主窗体可以进行相应的操作,实现系统的功能。普通用户也可以利用主窗体中的工具栏进行常用的功能操作。下面将详细的展现主窗体的设计细节部分。4.1 主窗体概述管理员通过
27、“系统登录”模块的验证后,可以登录到图书馆管理系统的主窗体。系统主窗体主要包括菜单栏、工具栏。用户在菜单栏中单击任一菜单项,即可执行相应的功能;工具栏为用户提供了经常使用的功能按钮。4.2 主窗体的实现过程主窗体的实现过程如下:1 创建 Library 类,在其构造函数中设置主窗体相关属性,如窗体大小、窗体标题等相关属性,还可以为窗体设置背景图片,并调用创建菜单栏与工具栏的方法,在主窗体中创建菜单栏与工具栏。关键代码如下:public Library() super();setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);setMod
28、alExclusionType(ModalExclusionType.APPLICATION_EXCLUDE);setLocationByPlatform(true);setSize(800, 600);setTitle(“图书馆管理系统“);JMenuBar menuBar = createMenu(); / 调用创建菜单栏的方法setJMenuBar(menuBar);JToolBar toolBar = createToolBar(); / 调用创建工具栏的方法getContentPane().add(toolBar, BorderLayout.NORTH);final JLabel l
29、abel = new JLabel();label.setBounds(0, 0, 0, 0);label.setIcon(null); / 窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) 是否验收操作员 折扣铜陵学院毕业论文(设计)- 9 -Dimension size = e.getComponent().getSize();label.setSize(e.getComponent().getSize();lab
30、el.setText(“););DESKTOP_PANE.add(label,new Integer(Integer.MIN_VALUE);getContentPane().add(DESKTOP_PANE);2 编写创建菜单栏的方法private JMenuBar createMenu() JMenuBar menuBar = new JMenuBar();JMenu bookOrderMenu = new JMenu(); / 初始化新书订购管理菜单bookOrderMenu.setIcon(CreatecdIcon.add(“xsdgcd.jpg“);bookOrderMenu.add(
31、MenuActions.NEWBOOK_ORDER);bookOrderMenu.add(MenuActions.NEWBOOK_CHECK_ACCEPT);JMenu baseMenu = new JMenu();/ 初始化基础数据维护菜单baseMenu.setIcon(CreatecdIcon.add(“jcsjcd.jpg“);JMenu readerManagerMItem = new JMenu(“读者信息管理“);readerManagerMItem.add(MenuActions.READER_ADD);readerManagerMItem.add(MenuActions.RE
32、ADER_MODIFY);JMenu bookTypeManageMItem = new JMenu(“图书类别管理“);bookTypeManageMItem.add(MenuActions.BOOKTYPE_ADD);bookTypeManageMItem.add(MenuActions.BOOKTYPE_MODIFY);JMenu menu = new JMenu(“图书信息管理“);menu.add(MenuActions.BOOK_ADD);menu.add(MenuActions.BOOK_MODIFY);baseMenu.add(readerManagerMItem);baseM
33、enu.add(bookTypeManageMItem);baseMenu.add(menu);baseMenu.addSeparator();baseMenu.add(MenuActions.EXIT);JMenu borrowManageMenu = new JMenu(); / 借阅管理施会勇:基于 Java 的图书管理系统开发- 10 -borrowManageMenu.setIcon(CreatecdIcon.add(“jyglcd.jpg“);borrowManageMenu.add(MenuActions.BORROW); / 借阅borrowManageMenu.add(Men
34、uActions.GIVE_BACK); / 归还borrowManageMenu.add(MenuActions.BOOK_SEARCH); / 搜索JMenu sysManageMenu = new JMenu(); / 系统维护sysManageMenu.setIcon(CreatecdIcon.add(“jcwhcd.jpg“);JMenu userManageMItem = new JMenu(“用户管理“); / 用户管理userManageMItem.add(MenuActions.USER_ADD);userManageMItem.add(MenuActions.USER_MO
35、DIFY);sysManageMenu.add(MenuActions.MODIFY_PASSWORD);sysManageMenu.add(userManageMItem);menuBar.add(baseMenu); / 添加基础数据维护菜单到菜单栏menuBar.add(bookOrderMenu); / 添加新书订购管理菜单到菜单栏menuBar.add(borrowManageMenu); / 添加借阅管理菜单到菜单栏menuBar.add(sysManageMenu); / 添加系统维护菜单到菜单栏return menuBar;3 编写创建工具栏的方法private JToolBa
36、r createToolBar() / 创建工具栏的方法JToolBar toolBar = new JToolBar();toolBar.setFloatable(false);toolBar.setBorder(new BevelBorder(BevelBorder.RAISED);JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);ImageIcon icon = new ImageIcon(Library.class.getResource(“/bookAddtb.jpg”)bookAddButton.setIcon(icon
37、);bookAddButton.setHideActionText(true);bookAddButton.setToolTipText(“fjdkjfk“);/图片上提示字toolBar.add(bookAddButton);toolBar.add(MenuActions.BOOK_MODIFY);/在工具栏中添加图书修改与删除图标JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY);ImageIconbookmodi icon=CreatecdIcon.add(“bookModiAndDeltb.jpg“);/创
38、建图标方法bookModiAndDelButton.setIcon(bookmodiicon);bookModiAndDelButton.setHideActionText(true);toolBar.add(bookModiAndDelButton);铜陵学院毕业论文(设计)- 11 -JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD);ImageIconbookTypeAddicon=CreatecdIcon.add(“bookTypeAddtb.jpg“);/创建图标方法bookTypeAddButton.set
39、Icon(bookTypeAddicon);bookTypeAddButton.setHideActionText(true);toolBar.add(bookTypeAddButton);JButton bookBorrowButton=new JButton(MenuActions.BORROW);ImageIcon bookBorrowicon=CreatecdIcon.add(“bookBorrowtb.jpg“); bookBorrowButton.setIcon(bookBorrowicon);bookBorrowButton.setHideActionText(true);too
40、lBar.add(bookBorrowButton);JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER);ImageIcon bookOrdericon=CreatecdIcon.add(“bookOrdertb.jpg“);/创建图标方法bookOrderButton.setIcon(bookOrdericon);bookOrderButton.setHideActionText(true);toolBar.add(bookOrderButton);JButton bookCheckButton=newJButton(
41、MenuActions.NEWBOOK_CHECK_ACCEPT);ImageIcon bookCheckicon=CreatecdIcon.add(“newbookChecktb.jpg“);/创建图标方法bookCheckButton.setIcon(bookCheckicon);bookCheckButton.setHideActionText(true);toolBar.add(bookCheckButton);JButton readerAddButton=new JButton(MenuActions.READER_ADD);ImageIcon readerAddicon=Crea
42、tecdIcon.add(“readerAddtb.jpg“);/创建图标方法readerAddButton.setIcon(readerAddicon);readerAddButton.setHideActionText(true);toolBar.add(readerAddButton);JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY);ImageIcon readerModiAndDelicon=CreatecdIcon.add(“readerModiAndDeltb.jpg“);/创建图标方法re
43、aderModiAndDelButton.setIcon(readerModiAndDelicon);readerModiAndDelButton.setHideActionText(true);施会勇:基于 Java 的图书管理系统开发- 12 -toolBar.add(readerModiAndDelButton);JButton ExitButton=new JButton(MenuActions.EXIT);ImageIcon Exiticon=CreatecdIcon.add(“exittb.jpg“);/创建图标方法ExitButton.setIcon(Exiticon);Exit
44、Button.setHideActionText(true);toolBar.add(ExitButton);return toolBar;4 经过程序运行后得到下图:图 4-1 图书馆管理系统主界面运行图5 小结图书管理系统的主窗体部分作为图书管理的主要界面,里面含有很多的菜单栏和工具栏,因此在设计的时候需要注意各菜单栏和工具栏的布局。另外,用户通过账号密码登陆之后,需要判断此次登陆的用户身份是管理员还是用户,如果是管理员则显示管理员相应的主界面,如果是普通借阅用户,则该用户界面没有新书订购等只有管理员才有的功能。铜陵学院毕业论文(设计)- 13 -第五章 登录模块设计一个完整的系统需要一定
45、的权限才能进行相应的操作,图书馆管理系统也不例外。无论是管理员还是用户都必须首先进入登陆界面,只有输入正确的账号和密码才能进入到主窗体进行相应的操作,否则是不能进行功能操作的。因此登陆模块在整个系统中占据了很重要的地位。5.1 登录模块概述登录模块是图书馆管理系统的入口,在运行本系统后,首先进入的便是登录窗体。在该窗体中,系统管理员可以通过输入正确的管理员名称与密码登录到系统;当没有输入管理员名称或密码时,系统将会弹出相应的提示信息。5.2 登录模块的实现过程开发登录模块的具体步骤如下:1) 首先在 BookLoginIFrame 类构造函数中设计登录窗体的整体布局,包括添加窗体关闭按钮、最小
46、化按钮、设置窗体大小等属性。关键代码如下:public BookLoginIFrame() super();final BorderLayout borderLayout = new BorderLayout();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);borderLayout.setVgap(10);getContentPane().setLayout(borderLayout);setTitle(“图书馆管理系统登录“);setBounds(100, 100, 285, 194);final JPanel panel = new JPa
47、nel();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);panel_2.setLayout(gridLayout);panel.add(panel_2);施会勇:基于
48、 Java 的图书管理系统开发- 14 -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.setPreferredSize(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