基于java的圖書管理系統(tǒng)開發(fā)_第1頁
基于java的圖書管理系統(tǒng)開發(fā)_第2頁
基于java的圖書管理系統(tǒng)開發(fā)_第3頁
基于java的圖書管理系統(tǒng)開發(fā)_第4頁
基于java的圖書管理系統(tǒng)開發(fā)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、學(xué) 號_0809121022 畢 業(yè) 論 文(設(shè)計)課 題 基于java的圖書管理系統(tǒng)開發(fā) 學(xué)生姓名 施 會 勇 系 別 電氣工程系 專業(yè)班級 電子信息工程 指導(dǎo)教師 崔 雪 英 二0一二 年 五 月目 錄插圖清單ii摘 要iiiabstractiv第一章 綜述11.1圖書館管理系統(tǒng)開發(fā)背景11.2圖書館管理系統(tǒng)的目的和意義21.3java語言的簡單介紹21.4mvc模式的介紹以及在本系統(tǒng)中的使用2第二章 系統(tǒng)分析設(shè)計42.1系統(tǒng)目標(biāo)42.2系統(tǒng)功能結(jié)構(gòu)42.3系統(tǒng)流程圖4第三章 數(shù)據(jù)庫的設(shè)計63.1數(shù)據(jù)庫分析63.2數(shù)據(jù)庫概念設(shè)計6第四章 主窗體設(shè)計84.1主窗體概述84.2主窗體的實現(xiàn)過程

2、8第五章 登錄模塊設(shè)計135.1登錄模塊概述135.2登錄模塊的實現(xiàn)過程13第六章 圖書管理模塊設(shè)計186.1圖書信息管理模塊概述186.2圖書信息管理模塊實現(xiàn)過程186.2.1 圖書信息的添加模塊實現(xiàn)186.2.2 圖書借閱模塊的實現(xiàn)216.2.3 圖書歸還模塊的實現(xiàn)216.2.4 圖書查詢模塊的實現(xiàn)24結(jié)論25參考文獻(xiàn)26致謝27插圖清單圖2-1 圖書館管理系統(tǒng)功能結(jié)構(gòu) 4圖2-2 圖書館管理系統(tǒng)業(yè)務(wù)流程圖 5圖3-1 圖書信息實體e-r圖 6圖3-2 讀者信息實體e-r圖 7圖3-3 圖書借閱信息實體e-r圖 7圖3-4 圖書訂購信息實體e-r圖 7圖4-1 圖書館管理系統(tǒng)主界面運(yùn)行圖

3、12圖5-1 圖書館管理系統(tǒng)登錄運(yùn)行圖 15圖6-1 圖書信息添加運(yùn)行圖 21圖6-2 圖書借閱管理運(yùn)行圖 22圖6-3 圖書歸還管理運(yùn)行圖 23圖6-4 圖書查詢運(yùn)行圖 24基于java的圖書管理系統(tǒng)開發(fā)摘 要進(jìn)入21世紀(jì)以來,信息技術(shù)從根本上推動了圖書館的飛速發(fā)展,計算機(jī)和計算機(jī)管理系統(tǒng)已成為圖書館進(jìn)行圖書管理的主要設(shè)備和系統(tǒng)。雖然目前很多大型的圖書館已經(jīng)有一套比較完善的管理系統(tǒng),但是在一些中小型的圖書館中,大部分工作仍需手工完成,工作起來效率比較低,不便于動態(tài),及時地調(diào)整圖書結(jié)構(gòu)。為了更好的適應(yīng)當(dāng)前圖書館的管理需求,解決手工管理中存在的弊端,越來越多的中小型圖書館正在逐步向計算機(jī)信息化管

4、理轉(zhuǎn)變。本文在此背景下運(yùn)用java技術(shù)開發(fā)了圖書管理系統(tǒng)。這個系統(tǒng)可以幫助管理員方便快捷的管理圖書以及用戶信息。同時具有查詢方便,搜索速度很快等特點(diǎn)。在mysql數(shù)據(jù)庫的支持下,這款系統(tǒng)的存儲信息量巨大,保密性能很強(qiáng)。在分析了圖書館管理系統(tǒng)的需求基礎(chǔ)上,本文完成了對系統(tǒng)功能的劃分,數(shù)據(jù)庫的設(shè)計,界面程序以及系統(tǒng)邏輯功能程序的設(shè)計。系統(tǒng)運(yùn)行證明,本文所設(shè)計的圖書管理系統(tǒng)能夠滿足讀者以及管理員的雙方要求。關(guān)鍵字:圖書管理; 信息技術(shù); 數(shù)據(jù)庫;java abstractsince the beginning of the 21st century, information technology f

5、undamentally promote the rapid development of the library, computers and computer systems have become a library book management 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

6、work still needs to manually complete, work efficiency is relatively low, does not facilitate dynamic and timely adjustments to 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 l

7、ibrary is gradually shift to the computer information management. in this context, has developed a library management system using 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 da

8、tabase support, a huge amount of information of this system of storage, the strong performance of confidentiality. on the basis 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

9、 function program. system operation proves that the library management system designed to meet both the readers and administrators requirements key words: books manage; information technology; databases; java第一章 綜述隨著各高校圖書館的圖書數(shù)量不斷增多和圖書館規(guī)模的不斷擴(kuò)大,管理這些龐大的圖書體系非常困難的,因為圖書的情況是隨時改變的,因此必需對圖書進(jìn)行動態(tài)的管理,而這對于一個管理人員來

10、說是一件比較復(fù)雜的事情,存儲、查詢、借閱是必不可少的業(yè)務(wù)。為了能讓管理員比較輕松的工作,使管理員在使用一個軟件以后能極其容易地對所有圖書進(jìn)行管理,并且準(zhǔn)確無誤,輕松自如。因此開發(fā)一個圖書館管理軟件是當(dāng)務(wù)之急,也是本畢業(yè)設(shè)計選題的重要意義和研究宗旨。圖書館管理系統(tǒng)的流通部分是所有圖書館系統(tǒng)中最重要的部分,流通系統(tǒng)將讀者與圖書、讀者與管理員、讀者與讀者相互間聯(lián)系起來,而且流通系統(tǒng)處理的數(shù)據(jù)類型多,數(shù)量大,精細(xì)且頻繁,因而需要系統(tǒng)應(yīng)具備較完善的檢驗防錯功能,從而根據(jù)系統(tǒng)的運(yùn)行及反饋信息高質(zhì)量,高效率地管理系統(tǒng)流通部門的全部功能。1.1 圖書館管理系統(tǒng)開發(fā)背景當(dāng)今時代是飛速發(fā)展的信息時代。在各行各業(yè)中

11、離不開信息處理,這正是計算機(jī)被廣泛應(yīng)用于信息管理系統(tǒng)的環(huán)境。計算機(jī)的最大好處在于利用它能夠進(jìn)行信息管理。使用計算機(jī)進(jìn)行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。 尤其對于復(fù)雜的信息管理,計算機(jī)能夠充分發(fā)揮它的優(yōu)越性。計算機(jī)進(jìn)行信息管理與信息管理系統(tǒng)的開發(fā)密切相關(guān),系統(tǒng)的開發(fā)是系統(tǒng)管理的前提。本系統(tǒng)就是為了管理好圖書館信息而設(shè)計的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書

12、天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進(jìn)行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有的圖書館有計算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。數(shù)據(jù)處理手工操作,工作量大,出錯率高,出錯后不易更改。圖書館采取手工方式對圖書借閱情況進(jìn)行人工管理,由于信息比較多,圖書借閱信息的管理工作混亂而又復(fù)雜;一般借閱情況是記錄在借書證上,圖書的數(shù)目和內(nèi)容記錄在文件中,圖書館的工作人員和管理員也只是

13、當(dāng)時對它比較清楚,時間一長,如再要進(jìn)行查詢,就得在眾多的資料中翻閱、查找了,造成查詢費(fèi)時、費(fèi)力。如要對很長時間以前的圖書進(jìn)行更改就更加困難了?;谶@此問題,我認(rèn)為有必要建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改圖書情況。1.2 圖書館管理系統(tǒng)的目的和意義 我們要實現(xiàn)科學(xué)技術(shù)現(xiàn)代化,圖書情報工作的現(xiàn)代化是極其重要的,又由于科學(xué)和技術(shù)的不斷發(fā)展和進(jìn)步,現(xiàn)代技術(shù)是一個動態(tài)的概念.第二次世界大戰(zhàn)以來,以計算機(jī)技術(shù)為代表的現(xiàn)代技術(shù)有了巨大的發(fā)展,而且還在迅速的變化發(fā)展之中,70年代后期,出現(xiàn)圖書情報工作的

14、 “聯(lián)機(jī)革命”,使計算機(jī)更廣泛地,更有效的應(yīng)用到各個角落,發(fā)達(dá)國家較重視這一領(lǐng)域的發(fā)展,我國尚存在較大的差距。所以我們說,圖書情報工作計算機(jī)化是提高我國科學(xué)技術(shù)水平的一項帶有重大戰(zhàn)略意義的措施,它是圖書情報工作現(xiàn)代化的重要標(biāo)志。計算機(jī)技術(shù)是現(xiàn)代技術(shù)的一部分,圖書自動化也只是圖書館現(xiàn)代化的一部分,它們之間是部分和整體的關(guān)系,但由于計算機(jī)技術(shù)是信息技術(shù)的心臟,現(xiàn)代社會的驕子,信息社會的科技主角,所以在圖書館現(xiàn)代技術(shù)中,計算機(jī)技術(shù)處于核心地位,它對于其他現(xiàn)代化設(shè)備起控制,連接和轉(zhuǎn)換的作用,而圖書館自動化是圖書館現(xiàn)代化的核心和主導(dǎo)部分。圖書情報的計算機(jī)管理系統(tǒng)能提高圖書館本身管理水平,能代替工作人員進(jìn)

15、行圖書情報資料的某些加工處理,把工作人員從繁重的手工勞動,重復(fù)勞動中解放出來??傊D書館的計算機(jī)自動化管理系統(tǒng),不但可以大大提高圖書館圖書流通率,而且推動了社會文化生活的進(jìn)步。本論文以圖書館管理信息系統(tǒng)的需求分析及概念設(shè)計為切入點(diǎn),運(yùn)用理論與實際相結(jié)合的方法,構(gòu)建一個包含讀者信息,書籍信息和借閱信息的圖書館管理系統(tǒng)。圖書館管理系統(tǒng)是典型的信息管理系統(tǒng)(mis),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。因此本人結(jié)合開放式圖書館的要求,對mysql數(shù)據(jù)庫、ja

16、va程序設(shè)計進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對圖書管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫模式分析,并由此設(shè)計了數(shù)據(jù)庫結(jié)構(gòu)和應(yīng)用程序。希望本文所設(shè)計的圖書館管理系統(tǒng)能夠滿足借閱者和圖書館管理人員的需求。1.3 java語言的簡單介紹java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是有sun microsystems公司與1995年5月推出的java程序設(shè)計語言和java平臺(即javase,javaee,javame)的總稱。java技術(shù)具有卓越的通用性,高效性,平臺移植性和安全性,廣泛應(yīng)用于個人pc,數(shù)據(jù)中心,游戲控制臺,科學(xué)超級計算機(jī),移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開

17、發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,java更具備了顯著優(yōu)勢和廣闊前景。 基于java的可移植性和高效性等特點(diǎn),在設(shè)計本系統(tǒng)的時候選用了java語言。1.4 mvc模式的介紹以及在本系統(tǒng)中的使用mvc是三個單詞的縮寫,分別為:模型(model),視圖(view),控制(controller)。mvc模式的目的就是實現(xiàn)系統(tǒng)的職能分工。model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂胘avabean或ejb來實現(xiàn)。view層用于與用戶的交互,通常在c/s系統(tǒng)中用swing+awt實現(xiàn),在b/s系統(tǒng)中常用jsp來實現(xiàn)。controller層是model與view之間溝通的橋梁,它可以分派

18、用戶的請求并選擇恰當(dāng)?shù)囊晥D以用于顯示,同時它也可以解釋用戶的輸入并將它們映射為模型層可執(zhí)行的操作。本系統(tǒng)采用了c/s結(jié)構(gòu)。c/s結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶端pc的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。c/s結(jié)構(gòu)軟件(即客戶機(jī)/服務(wù)器模式)分為客戶機(jī)和服務(wù)器兩層,客戶機(jī)不是毫無運(yùn)算能力的輸入、輸出設(shè)備,而是具有了一定的數(shù)據(jù)處理和數(shù)據(jù)存儲能力,通過把應(yīng)用軟件的計算和數(shù)據(jù)合理地分配在客戶機(jī)和服務(wù)器兩端,可以有效地降低網(wǎng)絡(luò)通信量和服務(wù)器運(yùn)算量。由于服務(wù)器連接個數(shù)和數(shù)據(jù)通信量的限制,這種結(jié)構(gòu)的軟件適于在用戶數(shù)目不多的局域網(wǎng)內(nèi)使用。國內(nèi)目前的大部分erp(財務(wù)

19、)軟件產(chǎn)品即屬于此類結(jié)構(gòu)。在本系統(tǒng)中模型(model)層運(yùn)用javabean技術(shù),完成了各部分功能的實現(xiàn),包括基礎(chǔ)數(shù)據(jù)維護(hù),圖書借閱管理,新書訂購管理和系統(tǒng)維護(hù)部分。視圖(view)層主要運(yùn)用swing技術(shù),完成了對主界面,訂閱界面等的顯示??刂茖?controller)的作用是整合模型層和視圖層。用戶在界面層點(diǎn)擊的事件,會通過控制層調(diào)用模型層相應(yīng)的處理,從而形成相應(yīng)的處理結(jié)果顯示在界面中。通過運(yùn)用mvc思想后,整個系統(tǒng)將會顯得很清晰,使代碼更加的清晰。也方便以后的維護(hù)。第二章 系統(tǒng)分析設(shè)計作為一款圖書管理系統(tǒng),首先要完成它的基本功能。在本次設(shè)計中,將根據(jù)調(diào)查過程后形成的流程圖,將系統(tǒng)分為基礎(chǔ)

20、數(shù)據(jù)維護(hù),圖書借閱管理,新書訂購管理以及系統(tǒng)維護(hù)四大功能模塊。在完成功能的設(shè)計過程中,要盡量使系統(tǒng)達(dá)到一些基本目標(biāo),下面將詳細(xì)的介紹系統(tǒng)的整體結(jié)構(gòu)以及需要達(dá)到的目標(biāo)。2.1 系統(tǒng)目標(biāo)根據(jù)對系統(tǒng)的分析,該系統(tǒng)應(yīng)達(dá)到以下目的。1. 界面設(shè)計友好、美觀2. 數(shù)據(jù)存儲安全、可靠3. 信息分類清晰、準(zhǔn)確4. 強(qiáng)大的查詢功能、保證數(shù)據(jù)查詢的靈活性5. 系統(tǒng)安全、穩(wěn)定6. 開發(fā)技術(shù)先進(jìn)、功能完備、擴(kuò)展性強(qiáng)7. 占用資源小、對硬件要求低8. 提供靈活、方便的權(quán)限設(shè)置功能、使整個系統(tǒng)的管理分工明確2.2 系統(tǒng)功能結(jié)構(gòu)圖書館管理系統(tǒng)分為4大功能模塊,分別為“基礎(chǔ)數(shù)據(jù)維護(hù)”、“圖書借閱管理”、“新書訂購管理”和“系

21、統(tǒng)維護(hù)”。本系統(tǒng)各個部分及其包括的具體功能模塊如圖2-1所示:圖書借書管理圖書還書管理圖書查詢圖書類別管理圖書信息管理更改密碼用戶管理驗收訂書新書訂購讀者信息管理系統(tǒng)維護(hù)新書訂購管理圖書借閱管理基礎(chǔ)數(shù)據(jù)維護(hù)圖書館管理系統(tǒng)圖2-1 圖書館管理系統(tǒng)功能結(jié)構(gòu)2.3 系統(tǒng)流程圖圖書館管理系統(tǒng)的業(yè)務(wù)流程如圖2-2所示:圖書館管理系統(tǒng)管理員圖書相關(guān)信息圖書類別相關(guān)信息讀者相關(guān)信息圖書添加圖書修改圖書信息管理圖書類別管理讀者信息管理讀者添加讀者修改與刪除圖書類別添加類別修改管理員登錄基礎(chǔ)數(shù)據(jù)維護(hù) 圖書借閱圖書相關(guān)信息圖書借閱管理 圖書歸還 圖書查詢讀者讀者信息錄入新書訂購新書訂購管理訂購相關(guān)信息 驗收新書

22、更改密碼 用戶添加系統(tǒng)維護(hù)操作員相關(guān)信息 用戶管理用戶修改與添加圖2-2 圖書館管理系統(tǒng)業(yè)務(wù)流程圖第三章 數(shù)據(jù)庫的設(shè)計通常作為一個管理軟件,它的數(shù)據(jù)部分都是由數(shù)據(jù)庫來存儲和管理的。在本設(shè)計中數(shù)據(jù)庫承擔(dān)了圖書信息和讀者信息。在如今的數(shù)據(jù)庫產(chǎn)品中,有很多成熟的產(chǎn)品,如oracle,db2,sql server,mysql等,圖書館管理系統(tǒng)應(yīng)用于高校的圖書館中,用戶數(shù)據(jù)以及圖書的信息數(shù)據(jù)并不是很大??紤]到成本,選用了mysql數(shù)據(jù)庫。下面將詳細(xì)的為您介紹本設(shè)計中數(shù)據(jù)庫的選擇以及數(shù)據(jù)庫的概念設(shè)計等。3.1 數(shù)據(jù)庫分析mysql具有很強(qiáng)的完整性與可伸縮性,性價比很高??紤]到本系統(tǒng)的穩(wěn)定性、可靠性,我決定

23、在設(shè)計該系統(tǒng)是選擇mysql數(shù)據(jù)庫來滿足系統(tǒng)的需求。3.2 數(shù)據(jù)庫概念設(shè)計根據(jù)以上對系統(tǒng)所作的需求分析、系統(tǒng)設(shè)計,規(guī)劃出本系統(tǒng)中使用的數(shù)據(jù)庫實體分別為圖書信息實體、圖書分類實體、圖書訂購實體、讀者信息實體、圖書借閱信息實體、庫存信息實體。以下為幾個關(guān)鍵實體的e-r圖。1. 圖書信息實體圖書信息實體包括圖書編號、圖書類別編號、書名、作者、出版社、價格、出版時間等屬性。其中圖書編號為圖書信息實體的主鍵,圖書類別編號為圖書信息實體的外鍵,與圖書分類實體具有外鍵關(guān)系。作者書名類別編號編號圖書出版時間價格出版社圖3-1 圖書信息實體e-r圖2. 讀者信息實體讀者信息實體包括條形碼、姓名、性別、年齡、電話

24、、辦證日期、證件號碼等屬性。其中條形碼作為本實體的唯一標(biāo)識。 年齡性別 姓名條形碼讀者電話辦證日期證件號碼 圖3-2 讀者信息實體e-r圖3. 圖書借閱信息實體圖書借閱信息實體包括編號、圖書編號、讀者編號、是否歸還、借閱日期、歸還日期等屬性。編號作為圖書借閱信息實體的唯一標(biāo)識,包括兩個外鍵,分別為圖書編號與讀者編號。編號圖書編號讀者編號圖書借閱借閱日期歸還日期是否歸還圖3-3 圖書借閱信息實體e-r圖4. 圖書訂購實體圖書訂購實體主要包括圖書編號,訂購日期、訂購數(shù)量、是否驗收等屬性。圖書訂購實體以圖書編號與圖書信息實體建立了關(guān)系。訂購日期圖書編號訂購數(shù)量圖書訂購操作員折扣是否驗收圖3-4 圖書

25、訂購信息實體e-r圖第四章 主窗體設(shè)計在整個系統(tǒng)中,主窗體部分顯示了本系統(tǒng)的所有功能。在主窗體的設(shè)計中運(yùn)用了swing技術(shù),完成了對菜單欄以及工具欄的設(shè)計。管理員通過主窗體可以進(jìn)行相應(yīng)的操作,實現(xiàn)系統(tǒng)的功能。普通用戶也可以利用主窗體中的工具欄進(jìn)行常用的功能操作。下面將詳細(xì)的展現(xiàn)主窗體的設(shè)計細(xì)節(jié)部分。4.1 主窗體概述管理員通過“系統(tǒng)登錄”模塊的驗證后,可以登錄到圖書館管理系統(tǒng)的主窗體。系統(tǒng)主窗體主要包括菜單欄、工具欄。用戶在菜單欄中單擊任一菜單項,即可執(zhí)行相應(yīng)的功能;工具欄為用戶提供了經(jīng)常使用的功能按鈕。4.2 主窗體的實現(xiàn)過程主窗體的實現(xiàn)過程如下:1 創(chuàng)建library類,在其構(gòu)造函數(shù)中設(shè)置

26、主窗體相關(guān)屬性,如窗體大小、窗體標(biāo)題等相關(guān)屬性,還可以為窗體設(shè)置背景圖片,并調(diào)用創(chuàng)建菜單欄與工具欄的方法,在主窗體中創(chuàng)建菜單欄與工具欄。關(guān)鍵代碼如下:public library() super();setdefaultcloseoperation(windowconstants.exit_on_close);setmodalexclusiontype(modalexclusiontype.application_exclude);setlocationbyplatform(true);setsize(800, 600);settitle(圖書館管理系統(tǒng));jmenubar menubar =

27、 createmenu(); / 調(diào)用創(chuàng)建菜單欄的方法setjmenubar(menubar);jtoolbar toolbar = createtoolbar(); / 調(diào)用創(chuàng)建工具欄的方法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 v

28、oid componentresized(final componentevent e) dimension size = e.getcomponent().getsize();label.setsize(e.getcomponent().getsize();label.settext(););desktop_pane.add(label,new integer(integer.min_value);getcontentpane().add(desktop_pane);2 編寫創(chuàng)建菜單欄的方法private jmenubar createmenu() jmenubar menubar = ne

29、w jmenubar();jmenu bookordermenu = new jmenu(); / 初始化新書訂購管理菜單bookordermenu.seticon(createcdicon.add(xsdgcd.jpg);bookordermenu.add(menuactions.newbook_order);bookordermenu.add(menuactions.newbook_check_accept);jmenu basemenu = new jmenu();/ 初始化基礎(chǔ)數(shù)據(jù)維護(hù)菜單basemenu.seticon(createcdicon.add(jcsjcd.jpg);jme

30、nu readermanagermitem = new jmenu(讀者信息管理);readermanagermitem.add(menuactions.reader_add);readermanagermitem.add(menuactions.reader_modify);jmenu booktypemanagemitem = new jmenu(圖書類別管理);booktypemanagemitem.add(menuactions.booktype_add);booktypemanagemitem.add(menuactions.booktype_modify);jmenu menu =

31、 new jmenu(圖書信息管理);menu.add(menuactions.book_add);menu.add(menuactions.book_modify);basemenu.add(readermanagermitem);basemenu.add(booktypemanagemitem);basemenu.add(menu);basemenu.addseparator();basemenu.add(menuactions.exit);jmenu borrowmanagemenu = new jmenu(); / 借閱管理borrowmanagemenu.seticon(create

32、cdicon.add(jyglcd.jpg);borrowmanagemenu.add(menuactions.borrow); / 借閱borrowmanagemenu.add(menuactions.give_back); / 歸還borrowmanagemenu.add(menuactions.book_search); / 搜索jmenu sysmanagemenu = new jmenu(); / 系統(tǒng)維護(hù)sysmanagemenu.seticon(createcdicon.add(jcwhcd.jpg);jmenu usermanagemitem = new jmenu(用戶管理)

33、; / 用戶管理usermanagemitem.add(menuactions.user_add);usermanagemitem.add(menuactions.user_modify);sysmanagemenu.add(menuactions.modify_password);sysmanagemenu.add(usermanagemitem);menubar.add(basemenu); / 添加基礎(chǔ)數(shù)據(jù)維護(hù)菜單到菜單欄menubar.add(bookordermenu); / 添加新書訂購管理菜單到菜單欄menubar.add(borrowmanagemenu); / 添加借閱管理菜

34、單到菜單欄menubar.add(sysmanagemenu); / 添加系統(tǒng)維護(hù)菜單到菜單欄return menubar;3 編寫創(chuàng)建工具欄的方法private jtoolbar createtoolbar() / 創(chuàng)建工具欄的方法jtoolbar toolbar = new jtoolbar();toolbar.setfloatable(false);toolbar.setborder(new bevelborder(bevelborder.raised);jbutton bookaddbutton=new jbutton(menuactions.book_add);imageicon i

35、con = new imageicon(library.class.getresource(“/bookaddtb.jpg”)bookaddbutton.seticon(icon);bookaddbutton.sethideactiontext(true);bookaddbutton.settooltiptext(fjdkjfk);/圖片上提示字toolbar.add(bookaddbutton);toolbar.add(menuactions.book_modify);/在工具欄中添加圖書修改與刪除圖標(biāo)jbutton bookmodianddelbutton=new jbutton(menu

36、actions.book_modify); imageiconbookmodi icon=createcdicon.add(bookmodianddeltb.jpg);/創(chuàng)建圖標(biāo)方法bookmodianddelbutton.seticon(bookmodiicon);bookmodianddelbutton.sethideactiontext(true);toolbar.add(bookmodianddelbutton);jbutton booktypeaddbutton=new jbutton(menuactions.booktype_add);imageiconbooktypeaddico

37、n=createcdicon.add(booktypeaddtb.jpg);/創(chuàng)建圖標(biāo)方法booktypeaddbutton.seticon(booktypeaddicon);booktypeaddbutton.sethideactiontext(true);toolbar.add(booktypeaddbutton);jbutton bookborrowbutton=new jbutton(menuactions.borrow);imageicon bookborrowicon=createcdicon.add(bookborrowtb.jpg); bookborrowbutton.seti

38、con(bookborrowicon);bookborrowbutton.sethideactiontext(true);toolbar.add(bookborrowbutton);jbutton bookorderbutton=new jbutton(menuactions.newbook_order);imageicon bookordericon=createcdicon.add(bookordertb.jpg);/創(chuàng)建圖標(biāo)方法bookorderbutton.seticon(bookordericon);bookorderbutton.sethideactiontext(true);to

39、olbar.add(bookorderbutton);jbutton bookcheckbutton=newjbutton(menuactions.newbook_check_accept);imageicon bookcheckicon=createcdicon.add(newbookchecktb.jpg);/創(chuàng)建圖標(biāo)方法bookcheckbutton.seticon(bookcheckicon);bookcheckbutton.sethideactiontext(true);toolbar.add(bookcheckbutton);jbutton readeraddbutton=new

40、jbutton(menuactions.reader_add);imageicon readeraddicon=createcdicon.add(readeraddtb.jpg);/創(chuàng)建圖標(biāo)方法readeraddbutton.seticon(readeraddicon);readeraddbutton.sethideactiontext(true);toolbar.add(readeraddbutton);jbutton readermodianddelbutton=new jbutton(menuactions.reader_modify);imageicon readermodiandde

41、licon=createcdicon.add(readermodianddeltb.jpg);/創(chuàng)建圖標(biāo)方法readermodianddelbutton.seticon(readermodianddelicon);readermodianddelbutton.sethideactiontext(true);toolbar.add(readermodianddelbutton);jbutton exitbutton=new jbutton(menuactions.exit);imageicon exiticon=createcdicon.add(exittb.jpg);/創(chuàng)建圖標(biāo)方法exitbu

42、tton.seticon(exiticon);exitbutton.sethideactiontext(true);toolbar.add(exitbutton);return toolbar;4 經(jīng)過程序運(yùn)行后得到下圖:圖4-1 圖書館管理系統(tǒng)主界面運(yùn)行圖5 小結(jié)圖書管理系統(tǒng)的主窗體部分作為圖書管理的主要界面,里面含有很多的菜單欄和工具欄,因此在設(shè)計的時候需要注意各菜單欄和工具欄的布局。另外,用戶通過賬號密碼登陸之后,需要判斷此次登陸的用戶身份是管理員還是用戶,如果是管理員則顯示管理員相應(yīng)的主界面,如果是普通借閱用戶,則該用戶界面沒有新書訂購等只有管理員才有的功能。第五章 登錄模塊設(shè)計一個完

43、整的系統(tǒng)需要一定的權(quán)限才能進(jìn)行相應(yīng)的操作,圖書館管理系統(tǒng)也不例外。無論是管理員還是用戶都必須首先進(jìn)入登陸界面,只有輸入正確的賬號和密碼才能進(jìn)入到主窗體進(jìn)行相應(yīng)的操作,否則是不能進(jìn)行功能操作的。因此登陸模塊在整個系統(tǒng)中占據(jù)了很重要的地位。5.1 登錄模塊概述登錄模塊是圖書館管理系統(tǒng)的入口,在運(yùn)行本系統(tǒng)后,首先進(jìn)入的便是登錄窗體。在該窗體中,系統(tǒng)管理員可以通過輸入正確的管理員名稱與密碼登錄到系統(tǒng);當(dāng)沒有輸入管理員名稱或密碼時,系統(tǒng)將會彈出相應(yīng)的提示信息。5.2 登錄模塊的實現(xiàn)過程開發(fā)登錄模塊的具體步驟如下:1) 首先在bookloginiframe類構(gòu)造函數(shù)中設(shè)計登錄窗體的整體布局,包括添加窗體關(guān)

44、閉按鈕、最小化按鈕、設(shè)置窗體大小等屬性。關(guān)鍵代碼如下:public bookloginiframe() super();final borderlayout borderlayout = new borderlayout();setdefaultcloseoperation(jframe.exit_on_close);borderlayout.setvgap(10);getcontentpane().setlayout(borderlayout);settitle(圖書館管理系統(tǒng)登錄);setbounds(100, 100, 285, 194);final jpanel panel = new

45、 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);panel_2.setlayout(gridlayout);panel.add(panel_2);fi

46、nal 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(use

47、rname);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(*);/設(shè)置密碼框的回顯字符password.addkeylistener(new keyadapter() public void

48、 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(登錄);panel_1.add(login);reset=new jbutton();reset.ad

49、dactionlistener(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(color.green);tupianlabel.setpreferredsize(new dimens

50、ion(260, 60);panel.add(tupianlabel, borderlayout.north);setvisible(true);setresizable(false);程序運(yùn)行圖如下:圖5-1 圖書館管理系統(tǒng)登錄運(yùn)行圖2) 為了方便在登錄驗證時取值傳遞,需要創(chuàng)建一個對應(yīng)于tb_operator表字段的javabean。這個類除了以數(shù)據(jù)表字段命名的成員變量之外,還創(chuàng)建了與成員變量相對應(yīng)的setxxx()getxxx()方法。關(guān)鍵代碼如下:public class operater private string id;private string name;private str

51、ing grade;private string password;public string getgrade() return grade;public void setgrade(string grade) this.grade = grade;public string getid() return id;public void setid(string id) this.id = id;public string getname() return name;public void setname(string name) = name;public string getpassword() return password;public void setpassword(string password) this.password = password;3) 分別為“登錄”按鈕與“重置”按鈕設(shè)置監(jiān)聽事件。class bookloginac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論