2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  中南民族大學</b></p><p><b>  計算機科學學院</b></p><p><b>  課程設(shè)計報告</b></p><p>  課 程 軟件工程導論 </p><p>  題 目 停車場管理系統(tǒng)</p&

2、gt;<p>  年 級 2013級 </p><p>  指導教師 劉衛(wèi)平 </p><p>  2015年 12 月15 日</p><p><b>  摘 要</b></p><p>  隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實施在技術(shù)上

3、已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內(nèi)部活動有機地組織起來,就必須建立與自身特點相適應(yīng)的管理信息系統(tǒng)。</p><p>  本系統(tǒng)是在管理信息系統(tǒng)的理論和方法指導下、數(shù)據(jù)庫技術(shù)支持下完成的。本文在結(jié)構(gòu)上首先論述了程序設(shè)計目的和意義,然后敘述了開發(fā)環(huán)境、開發(fā)平臺以及數(shù)據(jù)庫技術(shù),接著用圖片、說明和代碼的方式介紹了系統(tǒng)的整體規(guī)劃,接下來是系統(tǒng)在具體實現(xiàn)中的詳細內(nèi)容,最

4、終本系統(tǒng)能夠完成信息的添加、修改、刪除、查詢等功能,本系統(tǒng)界面友好,操作簡單,比較實用,思路縝密嚴謹,管理起來方便快捷,能有效的達到停車場車位的管理的目的。</p><p>  關(guān)鍵詞:Myeclipse,SQL server2008,界面,權(quán)限</p><p><b>  目 錄</b></p><p>  摘 要………………………………

5、………………………………………………2</p><p>  目 錄………………………………………………………………………………3</p><p>  1 緒 論…………………………………………………………………………4</p><p>  1.1 設(shè)計目的……………………………………………………………………5</p><p>  1.2

6、 開發(fā)工具選擇………………………………………………………………5</p><p>  1.3 開發(fā)環(huán)境……………………………………………………………………5</p><p>  1.4 本報告的主要內(nèi)容…………………………………………………………6</p><p>  2 需求分析…………………………………………………………………………6</p>&

7、lt;p>  2.1系統(tǒng)任務(wù)描述………………………………………………………………6</p><p>  2.1.1系統(tǒng)目標………………………………………………………………6</p><p>  2.1.2系統(tǒng)設(shè)計與功能分析…………………………………………………7</p><p>  2.1.3性能需求分析…………………………………………………………7</

8、p><p>  2.1.4開發(fā)環(huán)境和軟件……………………………………………………7</p><p>  2.2 系統(tǒng)概要設(shè)計……………………………………………………………7</p><p>  2.2.1 數(shù)據(jù)需求…………………………………………………………7</p><p>  2.2.1.1 數(shù)據(jù)字典……………………………………………………7

9、</p><p>  2.2.1.2 數(shù)據(jù)流圖……………………………………………………8</p><p>  2.2.2 功能需求…………………………………………………………10</p><p>  2.3 系統(tǒng)詳細設(shè)計…………………………………………………………10</p><p>  2.3.1 概念結(jié)構(gòu)設(shè)計……………………………………

10、………………10</p><p>  2.3.2 邏輯結(jié)構(gòu)設(shè)計……………………………………………………12</p><p>  2.3.3 物理結(jié)構(gòu)設(shè)計……………………………………………………13</p><p>  2.3.4 系統(tǒng)功能設(shè)計……………………………………………………14</p><p>  3 總體設(shè)計……………………

11、……………………………………………………15</p><p>  3.1設(shè)計概述……………………………………………………………………15</p><p>  3.2系統(tǒng)總體結(jié)構(gòu)及功能模塊劃分…………………………………………15</p><p>  3.2.1信息查詢模塊………………………………………………15</p><p>  3.2.2信

12、息管理模塊……………………………………………16</p><p>  3.4安全保密設(shè)計………………………………………………………………16</p><p>  3.4.1用戶登錄安全性……………………………………………………17</p><p>  4 詳細設(shè)計…………………………………………………………………………17</p><p>

13、  4.1概述…………………………………………………………………………17</p><p>  4.2系統(tǒng)程序流程圖…………………………………………………………18</p><p>  4.3系統(tǒng)主要功能模塊簡介……………………………………………………18</p><p>  4.3.1系統(tǒng)登錄…………………………………………………………18</p>

14、<p>  4.3.2信息查詢模塊………………………………………………18</p><p>  4.3.3信息管理模塊…………………………………………………19</p><p>  4.3.4管理員信息管理模塊………………………………………………20 </p><p>  4.3.5信息管理模塊………………………………………………21 </p&g

15、t;<p>  5 系統(tǒng)測試及難點分析…………………………………………………………23</p><p>  5.1 公共類代碼設(shè)計…………………………………………………………23</p><p>  5.2 登錄界面代碼設(shè)計…………………………………………………………26</p><p>  5.3 查詢模塊代碼設(shè)計……………………………………………

16、……………27</p><p>  5.4 添加模塊代碼設(shè)計…………………………………………………………28</p><p>  5.5 更新模塊代碼設(shè)計…………………………………………………………29</p><p>  5.6 刪除模塊代碼設(shè)計…………………………………………………………32</p><p>  結(jié) 論………………………

17、………………………………………………………32</p><p>  參考文獻…………………………………………………………………………33</p><p><b>  1 緒 論</b></p><p>  人類有幾千年的歷史,計算機從產(chǎn)生到現(xiàn)在只不過50多年,而網(wǎng)絡(luò)的迅速發(fā)展也不過10年的時間。但是,計算機和網(wǎng)絡(luò)對社會的影響已經(jīng)迅速擴大,甚至

18、在改變?nèi)藗兊纳睢L貏e是90年代以來,多媒體和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展正在以驚人的速度改變著人們的工作方式、交往方式和生活方式。正像著名的未來學家尼葛洛龐帝(1997)所說的:“數(shù)字不再只和計算有關(guān),它決定我們的生存?!笨茖W技術(shù)是第一生產(chǎn)力,是最先進的生產(chǎn)力。現(xiàn)在,已經(jīng)沒有人懷疑信息技術(shù)的發(fā)展將會引起人類社會全面和深刻的變革,使人類社會由工業(yè)社會邁向信息社會。目前,在社會各個方面都呈現(xiàn)出了與工業(yè)社會顯著不同的特點。網(wǎng)上書店,網(wǎng)上醫(yī)院,網(wǎng)上學校

19、,網(wǎng)上購物,網(wǎng)上銀行,政府上網(wǎng)等新事物如雨后春筍般涌現(xiàn)出來,對人們的傳統(tǒng)生活方式、工作方式產(chǎn)生極大的沖擊。使人們感受到技術(shù)發(fā)展的脈搏和信息時代前進的步伐。</p><p>  隨著車輛生產(chǎn)的規(guī)模不斷擴大,車輛數(shù)量急劇增加,。面對停車難,混亂的問題需要有停車管理系統(tǒng)來提高停車管理工作的效率。通過這樣的系統(tǒng)可以做到信息的規(guī)范管理、科學統(tǒng)計和快速查詢、修改、增加、刪除等,從而減少管理方面的工作量。</p>

20、<p><b>  1.1 設(shè)計目的</b></p><p>  本課程設(shè)計的目的是使學生能熟練掌握簡單的簡單Swing窗體應(yīng)用程序的設(shè)計和數(shù)據(jù)庫的應(yīng)用,希望通過本次課程設(shè)計鍛煉學生使用java語言解決實際問題的能力。</p><p>  1.2 開發(fā)工具選擇</p><p>  本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft SQL Se

21、rver 2008數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)在安全性、準確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高;前臺采用Son公司的Myeclipse作為主要開發(fā)工具,可與SQL Server 2008數(shù)據(jù)庫無縫鏈接。</p><p><b>  1.3 開發(fā)環(huán)境</b></p><p>  系統(tǒng)開發(fā)平臺:Myeclipse</p><p>  系

22、統(tǒng)開發(fā)語言:java</p><p>  數(shù)據(jù)庫管理軟件:SQL Server 2008</p><p>  1.4 本報告的主要內(nèi)容</p><p>  本報告詳細的介紹了停車管理系統(tǒng)的開發(fā)過程,主要涉及到的工作如下:系統(tǒng)的需求分析、系統(tǒng)的總體設(shè)計、系統(tǒng)的概念設(shè)計、系統(tǒng)各模塊的詳細設(shè)計、系統(tǒng)運行與測試。</p><p><b> 

23、 2 需求分析</b></p><p>  需求分析是一組活動的總稱,作為系統(tǒng)分析員,必須協(xié)同軟件用戶共同完成。而需求分析的任務(wù)是定義待開發(fā)的軟件的功能、性能等指標。首先要了解用戶的相關(guān)事務(wù),如果你給一家網(wǎng)站做在線書店系統(tǒng),除了參考現(xiàn)在已經(jīng)存在的類似和相關(guān)的系統(tǒng)外,你還需要通過用戶的演示、講解和有關(guān)文檔,與用戶進行交流協(xié)商。在這個過程中,可以提出自己有建設(shè)性的想法和建議,只有這樣,用戶和系統(tǒng)設(shè)計人員

24、才會在系統(tǒng)提供的事務(wù)上達成一致,這對于軟件來說是相當重要的。其次要分析用戶的事務(wù)流程,前面了解的用戶事務(wù)只是一些離散的事務(wù)活動,而事務(wù)流程是一種重要的信息,比如用戶登錄這個流程,他需要經(jīng)歷用戶名和密碼的輸入,正確用戶類型的選擇這些活動,然后將了解到的用戶活動加以整理并按照這些活動所固有的次序形成業(yè)務(wù)流程。還要了解用戶對軟件的期望值,除了需要能夠正確處理用戶的事務(wù)外,還需要了解用戶對系統(tǒng)的其他需求,比如系統(tǒng)的安全性。這些對于用戶而言也顯得

25、尤為重要。最后整理出用戶需求并評審需求。</p><p><b>  2.1系統(tǒng)任務(wù)描述</b></p><p>  系統(tǒng)模塊的設(shè)計應(yīng)該遵循整個系統(tǒng)總體設(shè)計思路,基于java開發(fā)工具與數(shù)據(jù)庫SQL設(shè)計,主要完成的設(shè)計如下:</p><p><b>  2.1.1系統(tǒng)目標</b></p><p>  

26、根據(jù)車輛的實際情況實現(xiàn)車輛的出入庫</p><p>  根據(jù)車庫的實際情況管理車庫,比如車庫的剩余大小</p><p>  對基本信息完成增加、刪除、修改時,需注意表與表之間的關(guān)聯(lián)</p><p>  出庫后根據(jù)小時來收費,并計算出總共的時間</p><p>  2.1.2系統(tǒng)設(shè)計與功能分析 </p><p>  停車

27、場管理系統(tǒng),可用于停車場對車輛信息管理,查詢,更新與維護,使用方便,易用性強,圖形界面清晰明了。該軟件用java語言編寫,用SQLServer2008數(shù)據(jù)庫作為后臺的數(shù)據(jù)庫進行信息的存儲,用SQL語句完成車輛信息的添加,查詢,修改,刪除的操作以及車輛的錄入,修改,刪除等。用ODBC驅(qū)動實現(xiàn)前臺Java與后臺SQL數(shù)據(jù)庫的連接。Java語言跨平臺性強,可以在windows,linux,ubuntu等系統(tǒng)下使用,方便簡單,安全性好。SQLS

28、erver2008數(shù)據(jù)庫高效安全,兩者結(jié)合可相互利用各自的優(yōu)勢。</p><p>  該系統(tǒng)實現(xiàn)的大致功能:</p><p>  用戶登陸界面。該界面可以選擇使用者的身份,“管理員,普通用戶”。不同的身份有不同的操作界面和功能權(quán)限。ID號和密碼輸入正確即可登錄。普通管理界面。提供了普通用戶信息的查詢,修改登錄密碼等功能。</p><p>  管理員界面。提供了對車輛

29、信息的查詢,添加,修改,刪除。修改密碼等功能。擁有最高的權(quán)限。允許添加普通用戶信息。</p><p>  登錄的用戶信息存儲在SQL數(shù)據(jù)庫的users這個表中保證了本學生管理系統(tǒng)的安全性。</p><p>  2.1.3性能需求分析</p><p>  登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。</p><p>  安全保密性需求

30、:只有憑借用戶名和密碼登陸系統(tǒng),才能進行信息的管理等。</p><p>  2.2 系統(tǒng)概要設(shè)計</p><p>  2.2.1.數(shù)據(jù)需求:</p><p>  2.2.1.1數(shù)據(jù)字典</p><p><b>  實體屬性表:</b></p><p><b>  管理員信息表:</

31、b></p><p><b>  學生表:</b></p><p>  2.2.1.2 數(shù)據(jù)流圖</p><p><b>  第0層</b></p><p><b>  第一層:</b></p><p><b>  第二層:</b&

32、gt;</p><p>  2.2.2.功能需求:</p><p>  包括車輛進出管理與系統(tǒng)管理等功能模塊,可根據(jù)車輛停放時間及收費標準自動收費。用戶需要事先辦理停車卡并充值,停車卡分優(yōu)惠卡和普通卡兩類。</p><p>  車場管理:車輛入場、車輛出場;</p><p>  信息查詢:某時間段的出入場信息,當前在場信息,車輛歷史停車記錄及

33、收費信息;</p><p>  信息維護:用戶及停車卡信息維護、充值等;</p><p>  系統(tǒng)管理:車位信息,計費標準等。</p><p>  系統(tǒng)包含兩類用戶:管理員用戶和普通用戶。</p><p>  管理員可以使用系統(tǒng)所有功能,普通用戶只能查詢車輛歷史記錄、用戶信息、停車卡充值,查詢計費標準。</p><p>

34、;<b>  2.3系統(tǒng)詳細設(shè)計</b></p><p>  2.3.1.概念結(jié)構(gòu)設(shè)計</p><p><b>  ER圖</b></p><p>  2.3.3物理結(jié)構(gòu)設(shè)計</p><p>  2.3.4系統(tǒng)功能設(shè)計</p><p><b>  3.總體設(shè)計<

35、;/b></p><p><b>  3.1設(shè)計概述</b></p><p>  根據(jù)需求把整個系統(tǒng)分化成不同的模塊,每個模塊完成一個特定的子功能。把這些模塊結(jié)合起來組成一個整體。逐一實現(xiàn)各個功能;</p><p>  3.2系統(tǒng)總體結(jié)構(gòu)及功能模塊劃分</p><p>  經(jīng)過對系統(tǒng)的需求分析,停車管理系統(tǒng)主要劃

36、分為四個部分:車輛進出管理,信息查詢,信息維護,系統(tǒng)管理四個功能模塊。如圖3.2.1 系統(tǒng)的總體結(jié)構(gòu)。</p><p>  圖3.2.1 系統(tǒng)的總體結(jié)構(gòu)</p><p>  3.2.1車輛進出模塊</p><p>  學生信息查詢:學生可以根據(jù)學號、姓名、專業(yè)進行查詢。如圖3.2.2學生信息查詢模塊結(jié)構(gòu)。</p><p>  圖3.2.2

37、 車輛進出模塊結(jié)構(gòu)</p><p>  3.2.2信息查詢模塊</p><p>  信息查詢:主要是用于用戶信息更新、插入、刪除,如圖3.2.3信息查詢模塊結(jié)構(gòu)。</p><p>  圖3.2.3 信息查詢模塊結(jié)構(gòu)</p><p><b>  3.4安全保密設(shè)計</b></p><p>  3.4

38、.1用戶登錄安全性</p><p>  系統(tǒng)設(shè)計了登錄界面,每個合法用戶有用戶名及一個密碼,只有當用戶輸入正確的用戶名及密碼組合后才能夠?qū)囕v信息進行操作。</p><p><b>  4詳細設(shè)計</b></p><p><b>  4.1概述</b></p><p>  詳細設(shè)計階段的根本目標是確

39、定應(yīng)該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應(yīng)該得出目標系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。</p><p>  4.2系統(tǒng)程序流程圖</p><p>  程序流程圖又稱為程序框圖,它是歷史悠久使用最廣泛的描述軟件設(shè)計的方法。它可將整個程序的總體流程清楚明白的顯示出來。如圖4.2.1系統(tǒng)總流程圖結(jié)構(gòu)。 </p&g

40、t;<p>  圖4.2.1系統(tǒng)總體流程圖</p><p>  4.3系統(tǒng)主要功能模塊簡介</p><p><b>  4.3.1系統(tǒng)登錄</b></p><p><b>  登陸界面</b></p><p><b>  主界面:</b></p>&

41、lt;p><b>  管理員主界面</b></p><p><b>  普通用戶主界面</b></p><p><b>  4.3.2車輛入場</b></p><p><b>  車輛入場界面:</b></p><p><b>  車輛入場

42、界面:</b></p><p><b>  計費標準界面:</b></p><p><b>  4.3.3信息查詢</b></p><p><b>  當前在場信息界面:</b></p><p><b>  用戶歷史信息界面:</b></

43、p><p><b>  用戶個人信息界面:</b></p><p>  管理員個人信息界面:</p><p>  普通用戶個人信息界面(以張三為例)</p><p><b>  出入場信息界面:</b></p><p>  當前可用車位信息界面:</p><p

44、><b>  4.3.1信息維護</b></p><p><b>  用戶注冊界面:</b></p><p><b>  用戶修改界面:</b></p><p><b>  用戶充值界面:</b></p><p><b>  計費標準管理界

45、面:</b></p><p><b>  更改口令界面:</b></p><p><b>  5主要功能模塊代碼</b></p><p>  5.1 關(guān)鍵技術(shù)介紹</p><p>  在其他類中得到當前登錄用戶對象</p><p>  實現(xiàn)方法:在LoginFra

46、me類中設(shè)置兩個靜態(tài)方法,在其他類中只需要引入LoginFrame類,然后調(diào)用他的靜態(tài)方法即可。方法體如下:</p><p>  public static users getUser() {</p><p>  return user;</p><p><b>  }</b></p><p>  public stat

47、ic void setUser(users user) {</p><p>  LoginFrame.user = user;</p><p><b>  }</b></p><p>  實現(xiàn)用戶類型不同,主界面不同的功能。</p><p>  可以定義靜態(tài)方法disMenu().當用戶是普通用戶時,調(diào)用disMenu(

48、)方法即可。具體實現(xiàn)如下:</p><p>  public void disMenu() {</p><p>  mnuPark.setEnabled(false);</p><p>  mnuSever.setEnabled(false);</p><p>  mnuManZhuCe.setEnabled(false);</p>

49、;<p>  mnuManCharge.setEnabled(false);</p><p><b>  }</b></p><p>  if(user.getUserstype().equals("管理員")) {</p><p>  MdiFrame frame1 = new MdiFrame();//創(chuàng)建

50、一個主窗體</p><p>  frame1.setVisible(true);//設(shè)置其可見</p><p>  LoginFrame.this.setVisible(false);//設(shè)置登錄窗體為不顯示</p><p><b>  }</b></p><p>  else {//判斷用戶名是否為null</p

51、><p>  MdiFrame frame = new MdiFrame();//創(chuàng)建一個主窗體</p><p>  frame.disMenu();</p><p>  frame.setVisible(true);//設(shè)置其可見</p><p>  LoginFrame.this.setVisible(false);//設(shè)置登錄窗體為不顯示&

52、lt;/p><p><b>  }</b></p><p><b>  怎么得到系統(tǒng)時間</b></p><p>  SimpleDateFormat myfmt=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");</p><p>  Strin

53、g a4 = myfmt.format(new java.util.Date()).toString();</p><p><b>  怎么計算時間差值</b></p><p><b>  try {</b></p><p>  java.util.Date now = myfmt.parse(a3);//a3是系統(tǒng)當前時

54、間(即出場時間)</p><p>  java.util.Date date=myfmt.parse(a7);//a7是入場時間</p><p>  int l=(int) (now.getTime()-date.getTime());//計算毫秒差值</p><p>  day=l/(24*60*60*1000);//獲取天數(shù)</p><p&g

55、t;  hour=(l/(60*60*1000)-day*24);//獲得小時</p><p>  min=((l/(60*1000))-day*24*60-hour*60);//獲得分鐘</p><p><b>  }</b></p><p>  catch (Exception e1)</p><p><b&g

56、t;  {</b></p><p>  JOptionPane.showMessageDialog(null,"消費計算錯誤");</p><p><b>  }</b></p><p>  if(min < 30)//如果分鐘小于30分鐘</p><p>  a8 = day*24

57、+hour;</p><p>  else //如果分鐘大于30分鐘</p><p>  a8 = day*24+hour+1;</p><p><b>  怎么讓布局更優(yōu)美</b></p><p>  使用布局管理器; GridBagLayout,以更改密碼界面為例:</p><p>  get

58、ContentPane().setLayout(new GridBagLayout());</p><p>  setBounds(234, 129, 285, 223);</p><p>  final JLabel label_5 = new JLabel();</p><p>  label_5.setText("登 錄 名:");&l

59、t;/p><p>  final GridBagConstraints gridBagConstraints_11 = new GridBagConstraints();</p><p>  gridBagConstraints_11.gridy = 2;</p><p>  gridBagConstraints_11.gridx = 0;</p><

60、;p>  getContentPane().add(label_5, gridBagConstraints_11);</p><p>  5.2 登錄界面代碼設(shè)計</p><p>  public void actionPerformed(final ActionEvent e) {</p><p>  user = Dal.check(username.ge

61、tText(),new String(password.getText()));</p><p>  if(user.getName()!=null) {</p><p>  if(user.getUserstype().equals("管理員")) {</p><p>  MdiFrame frame1 = new MdiFrame();//創(chuàng)

62、建一個主窗體</p><p>  //frame1.setEnabled(true);//設(shè)置其可見</p><p>  LoginFrame.this.setVisible(false);//設(shè)置登錄窗體為不顯示</p><p><b>  }</b></p><p>  else {//判斷用戶名是否為null<

63、;/p><p>  MdiFrame frame = new MdiFrame();//創(chuàng)建一個主窗體</p><p>  frame.disMenu();</p><p>  //frame.setEnabled(true);//設(shè)置其可見</p><p>  LoginFrame.this.setVisible(false);//設(shè)置登錄窗體

64、為不顯示</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  JOptionPane.showMessageDialog(null,"請輸入正確的用戶名和密碼!"

65、;);//彈出提示框</p><p>  username.setText("");//設(shè)置用戶名輸入框為空</p><p>  password.setText("");//設(shè)置密碼輸入框為空</p><p><b>  }</b></p><p><b>  }<

66、;/b></p><p>  5.3 主窗口代碼設(shè)計</p><p>  package whsdu.se.UI;</p><p>  import java.awt.BorderLayout;</p><p>  import java.awt.Dimension;</p><p>  import java.

67、awt.FlowLayout;</p><p>  import java.awt.SystemColor;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.aw

68、t.event.ComponentAdapter;</p><p>  import java.awt.event.ComponentEvent;</p><p>  import javax.swing.ImageIcon;</p><p>  import javax.swing.JFrame;</p><p>  import java

69、x.swing.JInternalFrame;</p><p>  import javax.swing.JLabel;</p><p>  import javax.swing.JMenu;</p><p>  import javax.swing.JMenuBar;</p><p>  import javax.swing.JMenuIt

70、em;</p><p>  import javax.swing.JPanel;</p><p>  import javax.swing.JScrollPane;</p><p>  import javax.swing.border.LineBorder;</p><p>  import whsdu.se.Common.*;</p

71、><p>  import whsdu.se.UI.*;</p><p>  import whsdu.se.DAO.*;</p><p>  public class MdiFrame extends JFrame implements ActionListener {</p><p>  //關(guān)鍵!MDIDesktopPane(該類實際繼承了

72、 JDesktopPane) 用來容納子窗體</p><p>  //即使子窗體最大化也僅僅限制在該容器的范圍之內(nèi)</p><p>  private MDIDesktopPane desktop = new MDIDesktopPane();</p><p><b>  //菜單條</b></p><p>  priv

73、ate JMenuBar menuBar = new JMenuBar();</p><p><b>  //菜單</b></p><p>  private JMenu mnuPark = new JMenu("車場管理");</p><p>  private JMenu mnuQuery = new JMenu(&qu

74、ot;信息查詢");</p><p>  private JMenu mnuSever = new JMenu("信息維護");</p><p>  private JMenu mnuManSes = new JMenu("系統(tǒng)管理");</p><p><b>  //菜單項</b></

75、p><p>  private JMenuItem munParkIn = new JMenuItem("車輛入場");</p><p>  private JMenuItem mnuParkOut = new JMenuItem("車輛出場");</p><p>  private JMenuItem munCharge = n

76、ew JMenuItem("計費標準");</p><p>  private JMenuItem mnuNowInfo = new JMenuItem("當前在場信息");</p><p>  private JMenuItem mnuHistory = new JMenuItem("用戶歷史信息");</p>&

77、lt;p>  private JMenuItem mnuComUsersInfo = new JMenuItem("用戶個人信息");</p><p>  private JMenuItem mnuInOut = new JMenuItem("出入場信息");</p><p>  private JMenuItem mnuComZhuCe =

78、new JMenuItem("用戶注冊");</p><p>  private JMenuItem mnuComIdentity = new JMenuItem("用戶修改");</p><p>  private JMenuItem mnuManZhuCe = new JMenuItem("管理員注冊");</p>

79、<p>  private JMenuItem mnuManIdentity = new JMenuItem("口令修改");</p><p>  private JMenuItem mnuManCharge = new JMenuItem("計費標準管理");</p><p>  private JMenuItem mnumancha

80、rge = new JMenuItem("用戶充值");</p><p>  private JMenuItem mnunowstation = new JMenuItem("當前可用車位信息");</p><p>  private JMenuItem mnuabout = new JMenuItem("關(guān)于");</p&

81、gt;<p>  private JMenuItem mnuduichu = new JMenuItem("退出");</p><p>  private JScrollPane scrollPane = new JScrollPane();</p><p>  private users user = LoginFrame.getUser(); <

82、/p><p><b>  //主窗體構(gòu)造方法</b></p><p>  public MdiFrame() {</p><p>  desktop.setOpaque(false); //JPanel 透明模式</p><p>  ImageIcon img = new ImageIcon("E:/java練習

83、/carsituation_man/res/main.jpg"); //創(chuàng)建一個圖片路徑</p><p>  JLabel background = new JLabel(img); //創(chuàng)建個帶背景圖片的JLabel</p><p>  background.setIcon(img);</p><p>  this.getLayeredPane().

84、add(background,new Integer(Integer.MIN_VALUE));</p><p>  background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());</p><p>  desktop.add(background);</p><p>  setMenu();&l

85、t;/p><p>  setTitle("停車場管理系統(tǒng)");</p><p>  scrollPane.getViewport().add(desktop);</p><p>  getContentPane().setLayout(new BorderLayout());</p><p>  getContentPane(

86、).add(scrollPane, BorderLayout.CENTER);</p><p>  this.setDefaultCloseOperation(EXIT_ON_CLOSE);</p><p>  this.setBounds(280,119,800, 600);</p><p>  this.setVisible(true);</p>

87、<p><b>  }</b></p><p><b>  /**</b></p><p>  * 為窗體添加菜單并注冊監(jiān)聽器</p><p><b>  * 只寫了部分菜單</b></p><p><b>  */</b></p>

88、<p>  private void setMenu(){</p><p><b>  //車場管理菜單</b></p><p>  mnuPark.add(munParkIn);</p><p>  munParkIn.addActionListener(this);</p><p>  mnuPark.a

89、dd(mnuParkOut);</p><p>  mnuParkOut.addActionListener(this);</p><p><b>  //信息查詢菜單</b></p><p>  mnuQuery.add(munCharge);</p><p>  munCharge.addActionListener

90、(this);</p><p>  mnuQuery.add(mnuNowInfo);</p><p>  mnuNowInfo.addActionListener(this);</p><p>  mnuQuery.add(mnuHistory);</p><p>  mnuHistory.addActionListener(this);&

91、lt;/p><p>  mnuQuery.add(mnuComUsersInfo);</p><p>  mnuComUsersInfo.addActionListener(this);</p><p>  mnuQuery.add(mnuInOut);</p><p>  mnuInOut.addActionListener(this);<

92、;/p><p>  mnuQuery.add(mnunowstation);</p><p>  mnunowstation.addActionListener(this);</p><p><b>  //信息維護菜單</b></p><p>  mnuSever.add(mnuComZhuCe);</p>

93、<p>  mnuComZhuCe.addActionListener(this);</p><p>  mnuSever.add(mnuComIdentity);</p><p>  mnuComIdentity.addActionListener(this);</p><p>  mnuSever.add(mnumancharge);</p>

94、;<p>  mnumancharge.addActionListener(this);</p><p><b>  //系統(tǒng)管理菜單</b></p><p>  mnuManSes.add(mnuManZhuCe);</p><p>  mnuManZhuCe.addActionListener(this);</p>

95、<p>  mnuManSes.add(mnuManIdentity);</p><p>  mnuManIdentity.addActionListener(this);</p><p>  mnuManSes.add(mnuManCharge);</p><p>  mnuManCharge.addActionListener(this);<

96、/p><p>  mnuManSes.add(mnuabout);</p><p>  mnuabout.addActionListener(this);</p><p>  mnuManSes.add(mnuduichu);</p><p>  mnuduichu.addActionListener(this);</p><

97、p><b>  //添加到菜單欄</b></p><p>  menuBar.add(mnuPark);</p><p>  menuBar.add(mnuQuery);</p><p>  menuBar.add(mnuSever);</p><p>  menuBar.add(mnuManSes);</p

98、><p>  //菜單欄添加到主窗體</p><p>  setJMenuBar(menuBar);</p><p><b>  }</b></p><p>  //如果是普通用戶,將不允許使用的菜單項禁止使用</p><p>  public void disMenu() {</p>

99、<p>  //將車場管理、信息維護、系統(tǒng)管理對普通用戶都不可用</p><p>  mnuPark.setEnabled(false);</p><p>  mnuSever.setEnabled(false);</p><p>  mnuManZhuCe.setEnabled(false);</p><p>  mnuManCh

100、arge.setEnabled(false);</p><p><b>  }</b></p><p>  //點擊菜單項出現(xiàn)相應(yīng)的子窗體</p><p>  public void actionPerformed(ActionEvent ae) {</p><p>  //如果允許同時打開多個子窗口,可以用該方法獲得所

101、有子窗口對象數(shù)組</p><p>  JInternalFrame[] jiFrame = desktop.getAllFrames(); </p><p>  //如果只允許同時打開一個,可以用該方法移除現(xiàn)有窗口</p><p>  //desktop.removeAll(); </p><p>  //獲得點擊的菜單名稱</p&

102、gt;<p>  String mnuName = ae.getActionCommand();</p><p>  //根據(jù)菜單名稱決定顯示的子窗口,可以按下面的格式為每一個子菜單指定顯示的子窗口</p><p>  if(mnuName.equals("車輛入場")) {</p><p>  //MdiFrame.addIFra

103、me(new ParkInFrame(),BorderLayout.CENTER);</p><p>  desktop.add(new ParkInFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("車輛出場"

104、;)) {</p><p>  desktop.add(new ParkOutFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("計費標準")) {</p><p>  desktop.

105、add(new ChargeFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("當前在場信息")) {</p><p>  desktop.add(new NowInfoFrame(),BorderLayout

106、.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("用戶個人信息")) {</p><p>  if(user.getUserstype().equals("管理員"))</p><p>  desktop

107、.add(new ComUsersInfoFrame(),BorderLayout.CENTER);</p><p><b>  else</b></p><p>  desktop.add(new ComUsersInfoFrame1(),BorderLayout.CENTER);</p><p><b>  }</b>

108、</p><p>  else if(mnuName.equals("用戶歷史信息")) {</p><p>  desktop.add(new HistoryFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnu

109、Name.equals("出入場信息")) {</p><p>  desktop.add(new InOutFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p><b>  //</b></p><p>  el

110、se if(mnuName.equals("用戶注冊")) {</p><p>  desktop.add(new ComZhuCeFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("用戶修改&quo

111、t;)) {</p><p>  desktop.add(new ComIdentityFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("用戶充值")) {</p><p>  des

112、ktop.add(new chongzhiFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("管理員注冊")) {</p><p>  desktop.add(new ManZhuCeFrame(),Borde

113、rLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("口令修改")) {</p><p>  desktop.add(new GengGaiMiMa(),BorderLayout.CENTER);</p><p>

114、<b>  }</b></p><p>  else if(mnuName.equals("當前可用車位信息")) {</p><p>  desktop.add(new nowstationFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p&

115、gt;<p>  else if(mnuName.equals("關(guān)于")) {</p><p>  desktop.add(new aboutFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals(&

116、quot;退出")) {</p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  else </b></p><p>  desktop.add(new ManChargeFrame(),BorderLayout.CENTER

117、);</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.4 各種信息的增刪改查代碼設(shè)計</p><p>  public class Dal {</p><p>  protected static String db

118、ClassName = </p><p>  "com.microsoft.sqlserver.jdbc.SQLServerDriver";//數(shù)據(jù)庫連接驅(qū)動類</p><p>  protected static String dbUrl = "jdbc:sqlserver://localhost:1433;"</p><p&g

119、t;  + "DatabaseName=cardmange;";//數(shù)據(jù)庫連接URL</p><p>  protected static String dbUser = "sa";//數(shù)據(jù)庫用戶名</p><p>  protected static String dbPwd = "cl19950121";//數(shù)據(jù)

120、庫密碼</p><p>  private static Connection conn = null;//數(shù)據(jù)庫連接對象</p><p>  private Dal() {//默認構(gòu)造函數(shù)</p><p><b>  try {</b></p><p>  if (conn == null)

121、 {//如果連接對象為空</p><p>  Class.forName(dbClassName);//加載驅(qū)動類</p><p>  conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);//獲得連接對象</p><p><b>  }</b></p>

122、;<p>  } catch (Exception ee) {</p><p>  ee.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  private static ResultSet exec

123、uteQuery(String sql) {//查詢方法</p><p><b>  try {</b></p><p>  if(conn==null) new Dal(); //如果連接對象為空,則重新調(diào)用構(gòu)造方法</p><p>  return conn.createStatement(ResultSet.TYPE_SCROLL_

124、SENSITIVE,</p><p>  ResultSet.CONCUR_UPDATABLE).executeQuery(sql);//執(zhí)行查詢</p><p>  } catch (SQLException e) {</p><p>  e.printStackTrace();</p><p>  return null;//返回

125、null值</p><p>  } finally {</p><p><b>  }</b></p><p><b>  }</b></p><p>  private static int executeUpdate(String sql) {//更新方法</p><p&

126、gt;<b>  try {</b></p><p>  if(conn==null) new Dal();//如果連接對象為空,則重新調(diào)用構(gòu)造方法</p><p>  return conn.createStatement().executeUpdate(sql);//執(zhí)行更新</p><p>  } catch (SQLExceptio

127、n e) {</p><p>  e.printStackTrace();</p><p>  return -1;</p><p>  } finally {</p><p><b>  }</b></p><p><b>  }</b></p><p&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論