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

下載本文檔

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

文檔簡介

1、<p><b>  計算機科學學院</b></p><p><b>  課程設計報告</b></p><p>  課 程 軟件工程導論 </p><p>  題 目 停車場管理系統(tǒng)</p><p>  年 級 </p><p>

2、;  指導教師 </p><p>  2015年 12 月15 日</p><p> 分組號學 號姓 名成績等級</p><p><b>  摘 要</b></p><p>  隨著信息技術在管理上越來越深入而廣泛的應用,管理信息系統(tǒng)的實施在技術上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展

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

4、、查詢等功能,本系統(tǒng)界面友好,操作簡單,比較實用,思路縝密嚴謹,管理起來方便快捷,能有效的達到停車場車位的管理的目的。</p><p>  關鍵詞:Myeclipse,SQL server2008,界面,權限</p><p><b>  目 錄</b></p><p>  摘 要………………………………………………………………………………2

5、</p><p>  目 錄………………………………………………………………………………3</p><p>  1 緒 論…………………………………………………………………………4</p><p>  1.1 設計目的……………………………………………………………………5</p><p>  1.2 開發(fā)工具選擇………………………………

6、………………………………5</p><p>  1.3 開發(fā)環(huán)境……………………………………………………………………5</p><p>  1.4 本報告的主要內(nèi)容…………………………………………………………6</p><p>  2 需求分析…………………………………………………………………………6</p><p>  2.1系統(tǒng)任務描述

7、………………………………………………………………6</p><p>  2.1.1系統(tǒng)目標………………………………………………………………6</p><p>  2.1.2系統(tǒng)設計與功能分析…………………………………………………7</p><p>  2.1.3性能需求分析…………………………………………………………7</p><p>  2

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

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

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

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

12、………16</p><p>  3.4安全保密設計………………………………………………………………16</p><p>  3.4.1用戶登錄安全性……………………………………………………17</p><p>  4 詳細設計…………………………………………………………………………17</p><p>  4.1概述………………………………

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

14、詢模塊………………………………………………18</p><p>  4.3.3信息管理模塊…………………………………………………19</p><p>  4.3.4管理員信息管理模塊………………………………………………20 </p><p>  4.3.5信息管理模塊………………………………………………21 </p><p>  5 系

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

16、<p>  5.4 添加模塊代碼設計…………………………………………………………28</p><p>  5.5 更新模塊代碼設計…………………………………………………………29</p><p>  5.6 刪除模塊代碼設計…………………………………………………………32</p><p>  結 論…………………………………………………………………………

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

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

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

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

21、在安全性、準確性和運行速度方面有絕對的優(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>  系統(tǒng)開發(fā)語言:java</p>

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

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

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

25、。</p><p><b>  2.1系統(tǒng)任務描述</b></p><p>  系統(tǒng)模塊的設計應該遵循整個系統(tǒng)總體設計思路,基于java開發(fā)工具與數(shù)據(jù)庫SQL設計,主要完成的設計如下:</p><p><b>  2.1.1系統(tǒng)目標</b></p><p>  根據(jù)車輛的實際情況實現(xiàn)車輛的出入庫&l

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

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

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

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

30、行信息的管理等。</p><p>  2.2 系統(tǒng)概要設計</p><p>  2.2.1.數(shù)據(jù)需求:</p><p>  2.2.1.1數(shù)據(jù)字典</p><p><b>  實體屬性表:</b></p><p><b>  管理員信息表:</b></p>&l

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

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

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

34、設計</b></p><p>  2.3.1.概念結構設計</p><p><b>  ER圖</b></p><p>  2.3.3物理結構設計</p><p>  2.3.4系統(tǒng)功能設計</p><p><b>  3.總體設計</b></p>

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

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

37、<p>  3.2.2信息查詢模塊</p><p>  信息查詢:主要是用于用戶信息更新、插入、刪除,如圖3.2.3信息查詢模塊結構。</p><p>  圖3.2.3 信息查詢模塊結構</p><p><b>  3.4安全保密設計</b></p><p>  3.4.1用戶登錄安全性</p>

38、<p>  系統(tǒng)設計了登錄界面,每個合法用戶有用戶名及一個密碼,只有當用戶輸入正確的用戶名及密碼組合后才能夠對車輛信息進行操作。</p><p><b>  4詳細設計</b></p><p><b>  4.1概述</b></p><p>  詳細設計階段的根本目標是確定應該怎樣具體的實現(xiàn)所要求的系統(tǒng),也就

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

40、.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><p><b>  

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

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

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

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

45、gt;<p><b>  更改口令界面:</b></p><p><b>  5主要功能模塊代碼</b></p><p>  5.1 關鍵技術介紹</p><p>  在其他類中得到當前登錄用戶對象</p><p>  實現(xiàn)方法:在LoginFrame類中設置兩個靜態(tài)方法,在其他類中只

46、需要引入LoginFrame類,然后調(diào)用他的靜態(tài)方法即可。方法體如下:</p><p>  public static users getUser() {</p><p>  return user;</p><p><b>  }</b></p><p>  public static void setUser(use

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

48、><p>  public void disMenu() {</p><p>  mnuPark.setEnabled(false);</p><p>  mnuSever.setEnabled(false);</p><p>  mnuManZhuCe.setEnabled(false);</p><p>  mnuMa

49、nCharge.setEnabled(false);</p><p><b>  }</b></p><p>  if(user.getUserstype().equals("管理員")) {</p><p>  MdiFrame frame1 = new MdiFrame();//創(chuàng)建一個主窗體</p>&l

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

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

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

53、(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)當前時間(即出場時間)</p>

54、<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>  hour=(l/(60*60*

55、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>  {</b><

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

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

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

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

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

61、password.getText()));</p><p>  if(user.getName()!=null) {</p><p>  if(user.getUserstype().equals("管理員")) {</p><p>  MdiFrame frame1 = new MdiFrame();//創(chuàng)建一個主窗體</p>&

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

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

64、;p><b>  }</b></p><p><b>  }</b></p><p><b>  else {</b></p><p>  JOptionPane.showMessageDialog(null,"請輸入正確的用戶名和密碼!");//彈出提示框</p>

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

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

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

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

69、ame;</p><p>  import javax.swing.JLabel;</p><p>  import javax.swing.JMenu;</p><p>  import javax.swing.JMenuBar;</p><p>  import javax.swing.JMenuItem;</p><

70、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><p>  im

71、port whsdu.se.UI.*;</p><p>  import whsdu.se.DAO.*;</p><p>  public class MdiFrame extends JFrame implements ActionListener {</p><p>  //關鍵!MDIDesktopPane(該類實際繼承了 JDesktopPane) 用來容納

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

73、r = new JMenuBar();</p><p><b>  //菜單</b></p><p>  private JMenu mnuPark = new JMenu("車場管理");</p><p>  private JMenu mnuQuery = new JMenu("信息查詢");<

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

100、se);</p><p><b>  }</b></p><p>  //點擊菜單項出現(xiàn)相應的子窗體</p><p>  public void actionPerformed(ActionEvent ae) {</p><p>  //如果允許同時打開多個子窗口,可以用該方法獲得所有子窗口對象數(shù)組</p>

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

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

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

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

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

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

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

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

109、入場信息")) {</p><p>  desktop.add(new InOutFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p><b>  //</b></p><p>  else if(mnuName.equal

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

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

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

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

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

115、e if(mnuName.equals("關于")) {</p><p>  desktop.add(new aboutFrame(),BorderLayout.CENTER);</p><p><b>  }</b></p><p>  else if(mnuName.equals("退出")) {&l

116、t;/p><p>  System.exit(0);</p><p><b>  }</b></p><p><b>  else </b></p><p>  desktop.add(new ManChargeFrame(),BorderLayout.CENTER);</p><p

117、><b>  }</b></p><p><b>  }</b></p><p>  5.4 各種信息的增刪改查代碼設計</p><p>  public class Dal {</p><p>  protected static String dbClassName = </p&

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

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

120、p>  private static Connection conn = null;//數(shù)據(jù)庫連接對象</p><p>  private Dal() {//默認構造函數(shù)</p><p><b>  try {</b></p><p>  if (conn == null) {//如果連接對象為空

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

122、ch (Exception ee) {</p><p>  ee.printStackTrace();</p><p><b>  }</b></p><p><b>  }</b></p><p>  private static ResultSet executeQuery(String sql

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

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

125、t;p>  } finally {</p><p><b>  }</b></p><p><b>  }</b></p><p>  private static int executeUpdate(String sql) {//更新方法</p><p><b>  try {

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

127、lt;p>  e.printStackTrace();</p><p>  return -1;</p><p>  } finally {</p><p><b>  }</b></p><p><b>  }</b></p><p>  public static

溫馨提示

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

評論

0/150

提交評論