管理信息化信息化知識(shí)軟件工程學(xué)_第1頁(yè)
管理信息化信息化知識(shí)軟件工程學(xué)_第2頁(yè)
管理信息化信息化知識(shí)軟件工程學(xué)_第3頁(yè)
管理信息化信息化知識(shí)軟件工程學(xué)_第4頁(yè)
管理信息化信息化知識(shí)軟件工程學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

管理信息化信息化知識(shí)軟件工程學(xué){管理信息化信息化知識(shí)}軟件工程學(xué)院系信科院專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班級(jí)13級(jí)計(jì)科一班學(xué)號(hào)學(xué)生姓名陳勇李闖郭亞嶺劉剛2014年1月摘要度化,規(guī)范化,科學(xué)化。除及自動(dòng)結(jié)賬。分工明細(xì),安全保密。此系統(tǒng)采用Java開(kāi)發(fā),使用MicrosoftOfficeAccess數(shù)據(jù)庫(kù)。繼承Java的“WriteOnce,RunAnywhere”的優(yōu)統(tǒng)界面友好,操作簡(jiǎn)單,較易實(shí)用。關(guān)鍵詞:酒店管理系統(tǒng);功能模塊;Java;目錄第1章緒論11.1研究背景11.2系統(tǒng)簡(jiǎn)介1第2章可行性研究與系統(tǒng)開(kāi)發(fā)計(jì)劃32.1可行性分析32.2系統(tǒng)開(kāi)發(fā)計(jì)劃32.2.1系統(tǒng)項(xiàng)目概述和實(shí)施計(jì)劃42.2.2Gantt圖4第3章系統(tǒng)分析63.1需求分析63.1.1數(shù)據(jù)庫(kù)需求分析63.1.2功能需求分析73.2系統(tǒng)目標(biāo)9第4章系統(tǒng)設(shè)計(jì)114.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)114.2系統(tǒng)功能設(shè)計(jì)134.3數(shù)據(jù)庫(kù)設(shè)計(jì)304.3.1數(shù)據(jù)庫(kù)概要設(shè)計(jì)304.3.2數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)354.4主要模塊設(shè)計(jì)394.4.1主界面1(登陸界面)設(shè)計(jì):394.4.2主界面2(操作員界面)設(shè)計(jì):404.4.3主界面3(管理員管理)設(shè)計(jì):414.4.4分割面板的設(shè)計(jì):414.4.5取系統(tǒng)時(shí)間模塊設(shè)計(jì):424.4.6身份選擇434.4.7正則表達(dá)式454.4.8獲取系統(tǒng)當(dāng)天時(shí)間的類45第5章系統(tǒng)具體實(shí)現(xiàn)485.1歡迎界面實(shí)現(xiàn):485.2登陸界面實(shí)現(xiàn)505.3管理員界面實(shí)現(xiàn)535.4操作員界面實(shí)現(xiàn)555.5系統(tǒng)功能實(shí)現(xiàn)575.5.1日結(jié)賬功能575.5.2月結(jié)賬和年結(jié)賬605.5.3菜單管理605.6本系統(tǒng)的一些特色方法60第6章系統(tǒng)軟件測(cè)試646.1測(cè)試方法646.2測(cè)試用例646.3測(cè)試總結(jié)66總結(jié)語(yǔ)67參考文獻(xiàn)68第1章緒論1.1研究背景“民以食為天,隨著人民生活水平的不斷提高,餐飲業(yè)在服務(wù)業(yè)中的地位一些人為因素造成的不可避免的錯(cuò)誤,已經(jīng)成為我們餐飲經(jīng)營(yíng)者思考的問(wèn)題。眾多,有條件的酒店或賓館采用自主開(kāi)發(fā)或委托軟件開(kāi)發(fā)商開(kāi)發(fā)出的專用軟件,礎(chǔ),結(jié)合酒店前臺(tái)管理的需要進(jìn)行擴(kuò)展性而開(kāi)發(fā)的一套酒店管理系統(tǒng)。1.2系統(tǒng)簡(jiǎn)介一.該系統(tǒng)采用面向?qū)ο笤O(shè)計(jì)方法,面向管理員和操作員兩個(gè)操作對(duì)象。單明了,操作方便,大大提高了操作效率。二.本系統(tǒng)主要實(shí)現(xiàn)以下幾個(gè)功能:11)應(yīng)的點(diǎn)菜及簽單。2)自動(dòng)結(jié)賬,即在客人消費(fèi)之后,對(duì)其消費(fèi)進(jìn)行匯總結(jié)賬。3)態(tài)經(jīng)營(yíng)模式,根據(jù)時(shí)期、季節(jié)來(lái)實(shí)時(shí)更換菜品種類。4)業(yè)記錄進(jìn)行查詢匯總。5)密碼的修改。6)超級(jí)管理,設(shè)計(jì)一名超級(jí)管理員可以對(duì)所有管理員進(jìn)行管理。7)幫助中心,針對(duì)本系統(tǒng)的所有操作輔以文檔加以說(shuō)明。8)退出,即退出系統(tǒng),防止操作不慎關(guān)閉了操作對(duì)話框。三.其次系統(tǒng)設(shè)置:1.在用戶登錄系統(tǒng)時(shí)進(jìn)行身份驗(yàn)證,只允許合法用戶進(jìn)入系統(tǒng)。2.即時(shí)的權(quán)限分配功能,允許管理員即時(shí)對(duì)用戶的權(quán)限進(jìn)行分配,充分保證了系統(tǒng)運(yùn)行的安全性。34.?dāng)?shù)據(jù)庫(kù)的備份功能,保證了數(shù)據(jù)的安全。2第2章可行性研究與系統(tǒng)開(kāi)發(fā)計(jì)劃2.1可行性分析1.競(jìng)爭(zhēng)可行性:由于現(xiàn)在的人工管理已經(jīng)難以滿足餐飲業(yè)發(fā)展的需要,廣大引入計(jì)算機(jī)軟件管理系統(tǒng)以提高本身的競(jìng)爭(zhēng)力。2.技術(shù)可行性:根據(jù)餐飲業(yè)的特點(diǎn)和實(shí)際情況,酒店管理系統(tǒng)以餐飲業(yè)務(wù)為系統(tǒng)順利運(yùn)行。3.經(jīng)濟(jì)可行性:在以往的人工管理模式中,餐飲業(yè)為了擴(kuò)大自己的經(jīng)營(yíng)不得設(shè)置,降低成本的同時(shí)又不影響增加本身的擴(kuò)張。4.查看業(yè)務(wù)情況等。Windows的圖形用戶界面,而該系統(tǒng)是大家熟2.2系統(tǒng)開(kāi)發(fā)計(jì)劃3軟件開(kāi)發(fā)方式:采用面向?qū)ο蠹夹g(shù)面向?qū)ο蠓椒ㄊ抢贸橄蟆⒎庋b等機(jī)制,發(fā)點(diǎn)開(kāi)發(fā)我們的系統(tǒng),得到了更好的思維方式。2.2.1系統(tǒng)項(xiàng)目概述和實(shí)施計(jì)劃系統(tǒng)項(xiàng)目概述:我們本系統(tǒng)的主要內(nèi)容是用java語(yǔ)言編寫(xiě)一個(gè)酒店管理系統(tǒng)的軟件,它可來(lái)提高自己的競(jìng)爭(zhēng)力。為了完成本系統(tǒng)的編寫(xiě),我們組的成員應(yīng)該具有一定的java語(yǔ)言功底,能該提交的東西有:java程序、打包文件、數(shù)據(jù)庫(kù)相應(yīng)的文檔說(shuō)明。系統(tǒng)實(shí)施計(jì)劃員又怎么能夠被一個(gè)或兩個(gè)超級(jí)管理員來(lái)進(jìn)行管理。42.2.2Gantt圖Gantt圖(又稱橫道圖)是安排工程進(jìn)度計(jì)劃的簡(jiǎn)單工具。用Gantt圖描述工程每個(gè)子任務(wù)的進(jìn)度安排,并描述工程各項(xiàng)任務(wù)之間在時(shí)間上的并行與串行關(guān)系,該方法簡(jiǎn)單了然。鑒于GanttGantt圖來(lái)安排的并行關(guān)系和串行關(guān)系,達(dá)到了簡(jiǎn)單易懂、一目了然的目的。任務(wù)負(fù)責(zé)人10月11月12月123412341234需求分析郭亞嶺測(cè)試計(jì)劃郭亞嶺概要設(shè)計(jì)郭亞嶺詳細(xì)設(shè)計(jì)劉剛編碼劉剛模塊測(cè)試陳勇集成測(cè)試陳勇5驗(yàn)收測(cè)試?yán)铌J文檔書(shū)寫(xiě)李闖*:1,2,3,4表示每個(gè)月的第幾個(gè)星期6第3章系統(tǒng)分析3.1需求分析3.1.1數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)項(xiàng)的關(guān)系,同時(shí)將相應(yīng)條目進(jìn)行分類匯總,加入到相應(yīng)表中,這將為系統(tǒng)的設(shè)計(jì)打基礎(chǔ)。在數(shù)據(jù)庫(kù)分析階段要做到兩點(diǎn):1)應(yīng)用系統(tǒng)用戶所需要操作的數(shù)據(jù)決定在數(shù)據(jù)庫(kù)中存儲(chǔ)什么數(shù)據(jù)。2)應(yīng)用系統(tǒng)用戶要求對(duì)數(shù)據(jù)進(jìn)行什么樣的處理,理清數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)項(xiàng)的關(guān)系。以下幾類:菜品信息:包括序號(hào)、編號(hào)、名稱、助記碼、菜系、單位、單價(jià)。臺(tái)號(hào)管理:包括序號(hào)、臺(tái)號(hào)、座位號(hào)。消費(fèi)單:編號(hào)、消費(fèi)臺(tái)號(hào)、消費(fèi)時(shí)間、消費(fèi)金額、操作用戶。賬務(wù)信息:編號(hào)、臺(tái)號(hào)、開(kāi)臺(tái)時(shí)間、消費(fèi)金額,點(diǎn)菜記錄。用戶信息:序號(hào)、姓名、性別、出生日期、登陸密碼、身份證號(hào)、身份7級(jí)別。圖,以便于數(shù)據(jù)的庫(kù)的建立和數(shù)據(jù)的分析,如下:圖3-1數(shù)據(jù)庫(kù)實(shí)體關(guān)系圖3.1.2功能需求分析員操作界面。1.歡迎界面:由于我們所做的軟件是一個(gè)和sql數(shù)據(jù)庫(kù)進(jìn)行連接的桌面程界面。在這個(gè)界面下,我們通過(guò)一個(gè)可視的界面來(lái)顯示程序已經(jīng)啟動(dòng),同時(shí),8忙等的狀況。2.登陸界面:主要有登錄名文本框、登陸密碼文本框、記住密碼按鈕、操入密碼就可以進(jìn)入系統(tǒng),進(jìn)行操作。3.操作員界面:此界面主要針對(duì)操作員,功能有臺(tái)號(hào)管理、開(kāi)單管理、菜操作員修改自身密碼等。具體功能如下:操作員可以對(duì)客人的要求做出回應(yīng)即開(kāi)單、簽單和收費(fèi)。開(kāi)單即為誤出現(xiàn)。9操作員可以對(duì)臺(tái)號(hào)管理,為客人分配餐臺(tái)。同時(shí),可以根據(jù)酒店的發(fā)展?fàn)顩r,添加刪除餐臺(tái)的數(shù)量,修改餐臺(tái)的座位數(shù)等。操作員還可以對(duì)菜品、菜系進(jìn)行管理,即增添或刪除菜品、菜系。單價(jià)。菜系信息包括:序號(hào)、菜系名稱。操作員可以實(shí)現(xiàn)智能點(diǎn)菜,即對(duì)點(diǎn)菜功能,用戶可以選擇使用菜品編號(hào)或菜品助記碼進(jìn)行點(diǎn)菜,提高了操作員的工作效率。操作員可以修改自身密碼。退出系統(tǒng)。4.管理員界面:此界面只針對(duì)管理員,主要負(fù)責(zé)賬務(wù)的匯總查詢,以及對(duì)幫助,退出五大項(xiàng)。每個(gè)大功能下又有幾個(gè)子菜單構(gòu)成,將管理員的操作細(xì)化,效率,同時(shí)豐富了該系統(tǒng)的功能。賬務(wù)管理:包括日結(jié)賬、月結(jié)賬、年結(jié)賬,每張賬單上的信息包括從而來(lái)調(diào)整經(jīng)營(yíng)策略,來(lái)提高經(jīng)濟(jì)效益。菜品管理:菜品管理、菜系管理,主要負(fù)責(zé)對(duì)菜品菜系的添加、刪理。10用戶管理:用戶管理、修改密碼、系統(tǒng)維護(hù),負(fù)責(zé)對(duì)操作員的添加、的人員調(diào)配、及人事管理。讓酒店的管理更加科學(xué)化。幫助:版本信息、幫助中心、幫助文檔,主要提供本系統(tǒng)操作的具體說(shuō)明。讓系統(tǒng)用戶能盡快入手系統(tǒng),增強(qiáng)系統(tǒng)的可使用性。退出:退出系統(tǒng)。3.2系統(tǒng)目標(biāo)系統(tǒng)的必要性。確。任務(wù)。因此我們將其做的盡量簡(jiǎn)單。的維護(hù),所以其功能相對(duì)復(fù)雜。響到全局部署。11依據(jù)上述描述的特點(diǎn),本系統(tǒng)需要實(shí)現(xiàn)下列目標(biāo):人性化的系統(tǒng)提示可視化的系統(tǒng)加載過(guò)程系統(tǒng)角色層次分明;身份不同,操作不同級(jí)別不同,權(quán)限不同人員不同,結(jié)果不同操作簡(jiǎn)單方便,界面簡(jiǎn)潔大方;人性化的系統(tǒng)使用方式;方便、快捷的開(kāi)臺(tái)點(diǎn)菜功能;智能化定位菜品的功能;自動(dòng)結(jié)賬功能;按開(kāi)臺(tái)和商品實(shí)現(xiàn)的日結(jié)賬功能;按日消費(fèi)額匯總統(tǒng)計(jì)實(shí)現(xiàn)的月結(jié)賬功能;按日營(yíng)業(yè)額實(shí)現(xiàn)的年結(jié)賬功能;按消費(fèi)情況,顯示酒店盈虧情況;動(dòng)態(tài)獲取系統(tǒng)時(shí)間,提高人員的時(shí)間概念實(shí)現(xiàn)系統(tǒng)的科學(xué)化管理;充分降低人為錯(cuò)誤帶來(lái)的損失;系統(tǒng)運(yùn)行穩(wěn)定、安全可靠;12第4章系統(tǒng)設(shè)計(jì)4.1系統(tǒng)結(jié)構(gòu)設(shè)計(jì)a)系統(tǒng)結(jié)構(gòu)圖4-1系統(tǒng)結(jié)構(gòu)圖管理員的數(shù)據(jù)匯聚圖管酒店管理系統(tǒng)

理統(tǒng)員

計(jì)賬4-2管理員數(shù)據(jù)匯聚圖操作員的數(shù)據(jù)匯聚圖4-3操作員數(shù)據(jù)匯聚圖4.2系統(tǒng)功能設(shè)計(jì)1)根據(jù)系統(tǒng)功能需求,構(gòu)造出數(shù)據(jù)流程圖:操作員的數(shù)據(jù)流圖:134-4操作員數(shù)據(jù)流程圖管理員的數(shù)據(jù)流圖4-5管理員數(shù)據(jù)流程圖系統(tǒng)的總體數(shù)據(jù)流圖14管理員操操作員操4-6系統(tǒng)總體數(shù)據(jù)流程圖數(shù)據(jù)源數(shù)據(jù)處理數(shù)據(jù)流2)具體功能實(shí)現(xiàn)界面15a)歡迎使用酒店管理系統(tǒng),友好界面如下:4-7歡迎界面圖b)進(jìn)入登陸界面,選擇登陸身份,系統(tǒng)會(huì)根據(jù)身份的不同加載相應(yīng)數(shù)據(jù)庫(kù)中用如下:4-8身份選擇單選按鈕面板圖4-9登陸界面圖c)操作員功能:操作員可以對(duì)客人的要求做出回應(yīng)即開(kāi)單、簽單和收費(fèi)。開(kāi)單即為客人主界面如圖所示:4-10操作員界面圖為了對(duì)進(jìn)入系統(tǒng)的用戶提供一些系統(tǒng)消息和操作信息,我們?cè)诓僮鲉T界圖:4-11系統(tǒng)信息提示圖同時(shí)為了操作提高操作員的結(jié)賬效率,我們提供了簡(jiǎn)單的操結(jié)賬面板。如圖:4-12結(jié)賬面板圖為了完成智能點(diǎn)菜的功能,我們構(gòu)建了一個(gè)基于助記碼查詢和編號(hào)查詢的點(diǎn)菜面板如下圖:4-13智能點(diǎn)菜面板圖操作員可以對(duì)臺(tái)號(hào)進(jìn)行管理、同時(shí)為客人選擇餐臺(tái),點(diǎn)擊臺(tái)號(hào)管理可以16進(jìn)入管理界面,如下圖:4-14臺(tái)號(hào)界面圖操作員還可以對(duì)菜品、菜系進(jìn)行管理,即增添或刪除菜品、菜系。在材理按鈕進(jìn)入菜品管理子界面,選擇菜品管理或菜系管理,如圖:4-15選擇界面圖點(diǎn)擊菜品管理進(jìn)入以下主界面,如圖:4-16菜品界面圖點(diǎn)擊菜系管理進(jìn)入以下主界面,如圖:4-17菜系界面圖操作員可以修改自身密碼,點(diǎn)擊修改密碼進(jìn)入以下界面,如圖4-18修改密碼界面圖操作完結(jié)后可以退出,如圖:4-19退出界面圖d)系統(tǒng)幫助文檔:在操作員首次使用本系統(tǒng)時(shí),可能有些陌生,不知如何下手。鑒于此種管理工作中,如圖:4-20系統(tǒng)使用幫助文檔e)管理員功能賬務(wù)管理:對(duì)一段時(shí)間的營(yíng)業(yè)記錄進(jìn)行匯總、查詢,包括日結(jié)賬、月結(jié)賬、年結(jié)賬。每張賬單上的信息包括日期、編號(hào)、臺(tái)號(hào)、開(kāi)臺(tái)時(shí)間、消費(fèi)金額、點(diǎn)菜記錄。管理面板如下:4-21管理員面板17首先進(jìn)行賬目管理的說(shuō)明:如下是賬目管理的選項(xiàng)卡:點(diǎn)擊日結(jié)賬,界面如下:4-22日結(jié)賬界面圖點(diǎn)擊月結(jié)賬,界面如下:4-23月結(jié)賬界面圖點(diǎn)擊年結(jié)賬,界面如下:4-24年結(jié)賬界面圖菜品管理:菜品管理、菜系管理,主要負(fù)責(zé)對(duì)菜品菜系的添加、刪除。根據(jù)現(xiàn)實(shí)狀況及時(shí)更改菜譜。4-25菜單管理界面圖4-26菜品管理界面4-27菜系管理界面用戶管理:用戶管理、修改密碼、系統(tǒng)維護(hù),負(fù)責(zé)對(duì)操作員的添加、刪須的活動(dòng)而且是設(shè)計(jì)的繼續(xù)和提高。點(diǎn)擊用戶管理,進(jìn)入以下界面進(jìn)行選擇,如圖:4-28用戶管理界面圖點(diǎn)擊用戶管理,對(duì)操作員進(jìn)行添加、刪除,界面如圖:4-29操作員管理界面圖18點(diǎn)擊修改密碼,界面如下:4-30修改密碼界面圖界面如下:4-31維護(hù)界面圖幫助:版本信息、幫助中心、幫助文檔,主要提供本系統(tǒng)操作的具體說(shuō)明。點(diǎn)擊幫助選項(xiàng)卡,顯示幫助選型,界面如下:4-32幫助界面圖點(diǎn)擊幫助中心,界面如下:4-33幫助中心界面圖點(diǎn)擊幫助文檔,界面如下:4=34幫助文檔界面圖退出:包含系統(tǒng)的版本信息、退出系統(tǒng)等功能。版本信息界面如下:4-35退出界面圖退出系統(tǒng)界面如下:4-36退出界面圖數(shù)據(jù)丟失。時(shí)間提示和管理員信息提示框:4.3數(shù)據(jù)庫(kù)設(shè)計(jì)在開(kāi)發(fā)應(yīng)用程序時(shí),對(duì)數(shù)據(jù)庫(kù)的操作是必不可少的,而一個(gè)數(shù)據(jù)庫(kù)的設(shè)計(jì)優(yōu)19設(shè)計(jì)數(shù)據(jù)庫(kù),在開(kāi)發(fā)過(guò)程中反復(fù)修改數(shù)據(jù)庫(kù),這將嚴(yán)重影響軟件的開(kāi)發(fā)進(jìn)度。4.3.1數(shù)據(jù)庫(kù)概要設(shè)計(jì)1)數(shù)據(jù)庫(kù)中的表及表中字段:本系統(tǒng)中使用到的數(shù)據(jù)表主要有管理員表、操作員表、菜系表、菜品表、統(tǒng)計(jì)表、開(kāi)單表,由這五個(gè)表組成了名為DrinkeryManage的數(shù)據(jù)庫(kù)。操作員表主號(hào);管理員表中的字段包括:管理員姓名,管理員編號(hào)等;日統(tǒng)計(jì)表中字段為:開(kāi)單日期等;年消費(fèi)表中字段為:年消費(fèi)菜單開(kāi)單、消費(fèi)菜單開(kāi)單時(shí)間等。在開(kāi)發(fā)酒店管理系統(tǒng)時(shí),餐臺(tái)和菜系在系統(tǒng)中是最簡(jiǎn)單的實(shí)體,在本系統(tǒng)中用來(lái)描述餐臺(tái)信息的只有臺(tái)號(hào)和座位號(hào),而描述菜系的主要是名稱。餐臺(tái)表(tb_desk)的E-R圖如下:菜系表(tb_sort)的E-R圖如下:這一功能,系統(tǒng)操作員可以快速獲取到顧客點(diǎn)的菜品,菜品表(tb_menu)的E-R圖如下:費(fèi)金額等。消費(fèi)單表(tb_order_form)的E-R圖如下所示:20消費(fèi)項(xiàng)目表(tb_order_item)用來(lái)記錄每個(gè)消費(fèi)單消費(fèi)的菜品,記錄的主要信E-R圖如下圖所示:綜合上述表格,得出了酒店管理系統(tǒng)的數(shù)據(jù)庫(kù)模型圖(view)如下:?jiǎn)伪怼?)數(shù)據(jù)源的連接(1)編寫(xiě)數(shù)據(jù)庫(kù)連接類hreadLocal類,將已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)連接保存在ThreadLocal對(duì)象里。首先,在數(shù)據(jù)庫(kù)連接類中定義一些常量,包括連接數(shù)據(jù)庫(kù)使用的驅(qū)動(dòng)程序、連接數(shù)據(jù)庫(kù)的路徑、連接數(shù)據(jù)庫(kù)使用的用戶名和密碼,并且定義了一個(gè)ThreadLocal類的對(duì)象,用來(lái)保存已經(jīng)創(chuàng)建的數(shù)據(jù)庫(kù)連接,具體代碼如下:privatestaticfinalStringDRIVERCLASS="..SQLServerDriver";privatestaticfinalStringURL="jdbc:microsoft:sqlserver://:1433;DatabaseName=db_DrinkeryManage";privatestaticfinalStringUSERNAME="sa";privatestaticfinalStringPASSWORD="dinne";privatestaticfinalThreadLocal<Connection>threadLocal=newThreadLocal<Connection>();避免了反復(fù)加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,從而提高軟件的功能。具體代碼如下:static//通過(guò)靜態(tài)方法加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)21{try{(DRIVERCLASS).newInstance();//加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)}catch(Exceptione){e.printStackTrace();}}ThreadLocal類的對(duì)象中獲取數(shù)據(jù)庫(kù)連接,然后判讀是否可以在可用體代碼如下:publicclassJDBC{privatestaticfinalStringDRIVERCLASS="..SQLServerDriver";privatestaticfinalStringURL="jdbc:microsoft:sqlserver://:1433;DatabaseName=db_DrinkeryManage";privatestaticfinalStringUSERNAME="sa";privatestaticfinalStringPASSWORD="dinne";privatestaticfinalThreadLocal<Connection>threadLocal=newThreadLocal<Connection>();static{//通過(guò)靜態(tài)方法加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)try{(DRIVERCLASS).newInstance();//加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)}catch(Exceptione)22{e.printStackTrace();}}publicstaticConnectiongetConnection(){//創(chuàng)建數(shù)據(jù)庫(kù)連接的方法Connectionconn=();//從線程中獲得數(shù)據(jù)庫(kù)連接if(conn==null){//沒(méi)有可用的數(shù)據(jù)庫(kù)連接try{conn=(URL,USERNAME,PASSWORD);//創(chuàng)建新的數(shù)據(jù)庫(kù)連接(conn);//將數(shù)據(jù)庫(kù)連接保存到線程中}catch(SQLExceptione){e.printStackTrace();}}returnconn;}publicstaticbooleancloseConnection()//關(guān)閉數(shù)據(jù)庫(kù)連接的方法{booleanisClosed=true;Connectionconn=();//從線程中獲得數(shù)據(jù)庫(kù)連接(null);//清空線程中的數(shù)據(jù)庫(kù)連接if(conn!=null){//數(shù)據(jù)庫(kù)連接可用try{();//關(guān)閉數(shù)據(jù)庫(kù)連接}catch(SQLExceptione)

{23isClosed=false;e.printStackTrace();}}returnisClosed;}}4.3.2數(shù)據(jù)庫(kù)詳細(xì)設(shè)計(jì)對(duì)數(shù)據(jù)庫(kù)的操作包括:查詢、添加、修改和刪除,其中查詢是通過(guò)executeQuery(Stringsql)方法執(zhí)行SQL語(yǔ)句實(shí)現(xiàn)的。在本系統(tǒng)中共提供了4的指定值和查詢指定記錄的方法,以及用來(lái)添加、修改和刪除記錄的方法。用戶表結(jié)構(gòu):用戶姓名、密碼、性別、用戶類型、身份證號(hào)碼、出生日期表4-1操作員表(tb_user)列名類別備注用戶編號(hào)(id)整型(int)主鍵用戶姓名(name)字符型(varchar)性別(sex)字符型(char)出生日期(birthday)Date型(datetime)身份證號(hào)碼(id_card)字符型(varchar)用戶密碼(password)字符型(varchar)用戶狀態(tài)字符型(char)表4-2管理員表(tb_owner)列名類別備注用戶編號(hào)(id)整型(int)主鍵用戶姓名(name)字符型(varchar)24性別(sex)字符型(char)出生日期(birthday)Date型(datetime)身份證號(hào)碼(id_card)字符型(varchar)用戶密碼(password)字符型(varchar)用戶狀態(tài)(freeze)字符型(char)菜品結(jié)構(gòu):編號(hào)、菜品名、所屬菜系、助記碼、單價(jià)表4-3菜品表(tb_menu)列名類別備注編號(hào)(num)整數(shù)型主鍵所屬菜系(sort_id)整型(int)外鍵菜品名(name)字符型(varchar)助記碼(code)字符型(varchar)單位(unit)字符型(varchar)單價(jià)(unit_price)整型(int)狀態(tài)(state)字符型(char)菜系表結(jié)構(gòu):編號(hào)、菜系名表4-4菜系表(tb_sort)列名類別備注編號(hào)(id)整數(shù)型(int)主鍵菜系名(name)字符型(varchar)開(kāi)單結(jié)構(gòu):開(kāi)單操作員、消費(fèi)金額、消費(fèi)菜品列表、消費(fèi)編號(hào)、消費(fèi)日期。表4-5消費(fèi)單表(tb_order_form)列名類別備注編號(hào)(num)字符型(char)主鍵餐臺(tái)號(hào)(desk_num)字符型(varchar)25消費(fèi)日期Date型(datetime)允許為空消費(fèi)金額整數(shù)型(int)操作員編號(hào)整型(int)統(tǒng)計(jì)表(日統(tǒng)計(jì)、月統(tǒng)計(jì)、年統(tǒng)計(jì)):消費(fèi)金額、消費(fèi)單編號(hào)、消費(fèi)單數(shù)目表4-6消費(fèi)項(xiàng)目表(tb_order_item)列名類別備注編號(hào)(id)整數(shù)型(int)主鍵所屬消費(fèi)單編號(hào)(order_form_num)字符型(char)菜品(menu_num)字符型(char)消費(fèi)數(shù)量(amount)整型(int)消費(fèi)金額(total)整型(int)sql2005在sql中,截圖如下:4.4主要模塊設(shè)計(jì)下面對(duì)系統(tǒng)的主要模塊做簡(jiǎn)要描述:4.4.1主界面1(登陸界面)設(shè)計(jì):4.4.2主界面2(操作員界面)設(shè)計(jì):26開(kāi)單操作員餐臺(tái)管理查詢修改菜品、簽單4.4.3主界面3(管理員管理)設(shè)計(jì):4.4.4分割面板的設(shè)計(jì):在開(kāi)臺(tái)簽單工作區(qū)中使用了分割面板,這樣系統(tǒng)操作員可以根據(jù)實(shí)際需要,/折疊的分隔條,分隔條上得小標(biāo)記(黑實(shí)體三角)將分隔條移動(dòng)到分割面板的最左側(cè)或最右側(cè),單擊另一個(gè)則使分隔條恢復(fù)到原位置。關(guān)于分隔條的代碼設(shè)計(jì)如下:finalJSplitPanesplitPane=newJSplitPane();//創(chuàng)建分割面版對(duì)象(_SPLIT);//設(shè)置為水平分割27(269);//設(shè)置面版默認(rèn)的分割位置(10);//設(shè)置分割條的寬度(true);//設(shè)置為支持快速展開(kāi)/折疊分割條(newTitledBorder(null,"",_JUSTIFICATION,_POSITION,null,null));//設(shè)置面版邊框getContentPane().add(splitPane,);//將分割面版添加到上級(jí)容器中finalJPanelleftPanel=newJPanel();//創(chuàng)建放于分割面版左側(cè)的普通面版對(duì)象(newBorderLayout());//設(shè)置面板的布局管理器4.4.5取系統(tǒng)時(shí)間模塊設(shè)計(jì):將它們分到不同的區(qū)域以滿足不同使用者的需要。為了實(shí)現(xiàn)獲取系統(tǒng)當(dāng)前時(shí)間,我們定義一個(gè)Time類來(lái)完成此功能。classTimeextendsThread{//創(chuàng)建內(nèi)部類publicvoidrun(){//重構(gòu)父類的方法while(true){Datedate=newDate();//創(chuàng)建日期對(duì)象(().substring(11,19));//獲取當(dāng)前時(shí)間并顯示到時(shí)間標(biāo)簽中try{(1000);//令線程休眠1秒}catch(InterruptedExceptione){e.printStackTrace();}}}28}4.4.6身份選擇面原本的樣貌;退出按鈕用來(lái)直接退出本系統(tǒng)。輸入項(xiàng)目:選擇用戶名和密碼。工作。如圖3-6有,其實(shí)現(xiàn)的主要代碼如下:JRadioButtonjr1=newJRadioButton("管理員");jr1.setOpaque(true);jr1.setActionCommand("1");JRadioButtonjr2=newJRadioButton("操作員");jr2.setOpaque(true);jr2.setActionCommand("0");(jr1);(jr2);(jr1,gro1);(jr2,gro);jr1.setContentAreaFilled(false);//設(shè)置不繪制按鈕的內(nèi)容區(qū)域

jr1.setBorderPainted(false);//不繪制單選按鈕的邊框

jr2.setContentAreaFilled(false);//設(shè)置不繪制按鈕的內(nèi)容區(qū)域

jr2.setBorderPainted(false);//不繪制單選按鈕的邊框

jr1.setSelected(true);//設(shè)置操作員為默認(rèn)登錄用戶

jr1.addActionListener(newActionListener()//管理員單選按鈕監(jiān)聽(tīng)

{publicvoidactionPerformed(ActionEvente)throwsNullPointerException29{VectoruserNameV=Dao1.getInstance().sUserNameOfNotFreeze();//加載管理員數(shù)據(jù)庫(kù)表VectoruserNameV1=().sUserNameOfNotFreeze();//加載操作員數(shù)據(jù)庫(kù)表flag=e.getActionCommand().toString();//判斷選擇的是操作員還是管理員if(()==0){("TSoft");}else{for(inti=0;i<userNameV1.size();i++){(userNameV1.get(i));}for(inti=0;i<();i++){((i));}for(intj=0;j<();j++){((j));}}}});jr2.addActionListener(newActionListener()//操作員單選按鈕添加監(jiān)聽(tīng)事件{publicvoidactionPerformed(ActionEvente)throwsNullPointerException{VectoruserNameV=().sUserNameOfNotFreeze();//加載操作員數(shù)據(jù)表

VectoruserNameV1=Dao1.getInstance().sUserNameOfNotFreeze();//加載管理員數(shù)據(jù)表

flag=e.getActionCommand().toString();if(()==0)30{("TSoft");}else{for(inti=0;i<userNameV1.size();i++){(userNameV1.get(i));}for(inti=0;i<();i++){((i));}for(intj=0;j<();j++){((j));}}}});4.4.7正則表達(dá)式式,所以本系統(tǒng)提供了一個(gè)可重用的利用正則表達(dá)式來(lái)驗(yàn)證數(shù)據(jù)合法性的方法,booleantruefalse時(shí)表示驗(yàn)證未通過(guò),數(shù)據(jù)不合法。使用代碼如下:publicclassValidate{31publicstaticbooleanexecute(Stringrule,Stringcontent){Patternpattern=(rule);//利用驗(yàn)證規(guī)則創(chuàng)建Pattern對(duì)象Matchermatcher=(content);//利用驗(yàn)證內(nèi)容獲得Matcher對(duì)象return();//返回驗(yàn)證結(jié)果}}具體實(shí)現(xiàn)代碼如下:import.;import.;publicclassValidate{publicstaticbooleanexecute(Stringrule,Stringcontent){Patternpattern=(rule);//利用驗(yàn)證規(guī)則創(chuàng)建Pattern對(duì)象Matchermatcher=(content);//利用驗(yàn)證內(nèi)容獲得Matcher對(duì)象return();//返回驗(yàn)證結(jié)果}}4.4.8獲取系統(tǒng)當(dāng)天時(shí)間的類以我們?cè)诒鞠到y(tǒng)中,書(shū)寫(xiě)了一個(gè)系統(tǒng)時(shí)間類,從主機(jī)獲取時(shí)間。主要代碼如下:publicclassToday{privatestaticfinalCalendarNOW=();privatestaticfinalintYEAR=();privatestaticfinalintMONTH=()+1;privatestaticfinalintDAY=(_OF_MONTH);privatestaticfinalintWEEK=(_OF_WEEK);32privatestaticfinalintHOUR=(_OF_DAY);privatestaticfinalintMINUTE=();privatestaticfinalintSECOND=();//publicstaticStringgetDate()//獲取系統(tǒng)額日期{returnYEAR+"-"+MONTH+"-"+DAY;}publicstaticStringgetDateOfNum()//獲取系統(tǒng)的文本格式{Stringy=YEAR+"";Stringm=MONTH+"";Stringd=DAY+"";if(MONTH<10)m="0"+MONTH;if(DAY<10)d="0"+DAY;returny+m+d;}publicstaticStringgetDateOfShow(){returnYEAR+"年"+MONTH+"月"+DAY+"日";}publicstaticStringgetDayOfWeek(){StringdayOfWeek="";

switch(WEEK){

case1:dayOfWeek="星期日";break;case2:dayOfWeek="星期一";break;case3:33dayOfWeek="星期二";break;case4:dayOfWeek="星期三";break;case5:dayOfWeek="星期四";break;case6:dayOfWeek="星期五";case7:dayOfWeek="星期六";break;}returndayOfWeek;}publicstaticStringgetTime(){returnHOUR+":"+MINUTE+":"+SECOND;}publicstaticvoidmain(String[]args){.println(());}publicstaticintgetYEAR()//獲取年份{returnYEAR;}publicstaticintgetDAY()//獲取當(dāng)前是那一天{returnDAY;}publicstaticintgetMONTH()//獲取當(dāng)前月份34{returnMONTH;}}35第5章系統(tǒng)具體實(shí)現(xiàn)鑒于現(xiàn)有軟硬件環(huán)境,我決定采用Client/Server體系結(jié)構(gòu)進(jìn)行軟件開(kāi)發(fā)。開(kāi)發(fā)軟件采用。5-1系統(tǒng)功能模塊圖5.1歡迎界面實(shí)現(xiàn):歡迎界面設(shè)計(jì):由于本系統(tǒng)采用了sql2005來(lái)作為后臺(tái)數(shù)據(jù)庫(kù)的設(shè)計(jì)方案,示系統(tǒng)的加載情況。讓用戶清楚看到系統(tǒng)的實(shí)時(shí)情況。界面效果如圖3-4。下面簡(jiǎn)單介紹附上界面的實(shí)現(xiàn)代碼:5-2系統(tǒng)加載圖publicclassWeleFrameextendsJFrame{/**變量聲明*/publicWeleFrame(){/*窗口繪制部分代碼*/setUndecorated(true);//去除登錄界面的邊框體finalMPanelpanel=newMPanel(().getResource("wele1.jpg"));//加載界面圖片的載入getContentPane().add(panel,);getContentPane().add(progressbar,);36Toolkittoolkit=();DimensionscreenSize=();setLocation((-448)/2,(-280)/2);}publicstaticvoidmain(Stringargs[]){(newRunnable()//獲取系統(tǒng)的顯示主題{publicvoidrun(){try{(());}catch(Exceptionexception){();}}});Try//加載歡迎界面{(());wel=newWeleFrame();(true);}catch(Exceptione){e.printStackTrace();}for(inti=0;i<=100;i++)//設(shè)置進(jìn)度條的顯示數(shù)據(jù){try37{(10);}catch(InterruptedExceptione){e.printStackTrace();}(i);}(false);}}5.2登陸界面實(shí)現(xiàn)登錄界面將有效的提高用戶對(duì)系統(tǒng)的第一印象。用戶登錄窗口的設(shè)計(jì)優(yōu)秀與否,主要包括以下幾個(gè)方面:美觀大方簡(jiǎn)單易懂安全性高使用方便功能明確要使用戶登錄界面美觀大方,就離不開(kāi)對(duì)圖片的使用,但是JPanel類并不支持繪制背景圖片的功能,即將組件繪制到圖片的上方。我們想到,可以通過(guò)重寫(xiě)JPanel類的paintComponent(Graphicsg)方法,實(shí)現(xiàn)支持繪制背景圖片的功能。5-3登陸界面38主要代碼如下:publicclassMPanelextendsJPanel{privatestaticfinallongserialVersionUID=1L;privateImageIconimageIcon;//聲明一個(gè)圖片對(duì)象publicMPanel(URLimgUrl){super();//繼承父類的構(gòu)造方法setLayout(newGridBagLayout());//將布局管理器修改為網(wǎng)格組布局imageIcon=newImageIcon(imgUrl);//根據(jù)傳入的URL創(chuàng)建ImageIcon對(duì)象setSize((),());//設(shè)置面板與圖片等大}protectedvoidpaintComponent(Graphicsg){//重寫(xiě)JPanel類的paintComponent()方法(g);//調(diào)用JPanel類的paintComponent()方法Imageimage=();//通過(guò)ImageIcon對(duì)象獲得Image對(duì)象g.drawImage(image,0,0,null);//繪制Image對(duì)象,即將圖片繪制到面板中}}通過(guò)繼承JPanel類得到的MPanel圖片了。這樣,在設(shè)計(jì)用戶登錄界面時(shí),我們就可以使用MPanel類來(lái)創(chuàng)建背景面板,加載進(jìn)我們選好的圖片,使得登錄界面美觀大方。395.3管理員界面實(shí)現(xiàn)下又有幾個(gè)子菜單構(gòu)成,豐富了該系統(tǒng)的功能。措施來(lái)增加自己酒店的吸引力,最終實(shí)現(xiàn)利潤(rùn)最大化。出來(lái)管理員可以及時(shí)看到。用戶管理:管理員可以在這里管理操作員的信息,實(shí)現(xiàn)了操作員的增、刪、用方法。這樣可以盡快地熟悉本系統(tǒng)的操作方法。退出系統(tǒng):其下有兩個(gè)按鈕:版本信息和退出按鈕。這兩個(gè)按鈕使用簡(jiǎn)單,一個(gè)查看信息,另一個(gè)用來(lái)選擇是否要退出本系統(tǒng)。5-4管理員界面40美觀,操作更快捷,其窗體圖3-18。下面是該窗體的基本構(gòu)建方法:publicclassTipWizardFrame1extendsJFrame{publicTipWizardFrame1(finalVectoruser,Stringusernames)throwsNullPointerException{}//構(gòu)造方法privateJTabbedPanecreateNavigationPanel(finalVectoruser){}//創(chuàng)建導(dǎo)航面板privateJButtoncreateFrameButton(StringfName,Stringcname){}//創(chuàng)建選項(xiàng)卡中得面板privatevoidupdateBackImage(){}//設(shè)置背景圖片privatefinalclassFrameListenerextendsComponentAdapter{}//窗體監(jiān)聽(tīng)器protectedfinalclassopenFrameActionextendsAbstractAction{}//創(chuàng)建動(dòng)態(tài)的按鈕classTimeextendsThread{}//時(shí)間顯示線程static{try{(());}catch(Exceptione){e.printStackTrace();}

}

}JTabbedPane選項(xiàng)卡使用BevelBorder幫助、和退出系統(tǒng)的選項(xiàng)卡。效果如下圖:5-5導(dǎo)航欄關(guān)鍵代碼如下:ImageIconaccount=newImageIcon("res/");41ImageIconmenus=newImageIcon("res/");ImageIconemployee=newImageIcon("res/");ImageIconhelp=newImageIcon("res/");ImageIconexits=newImageIcon("res/");(newFont("",,14));("賬目管理",account,baseManagePanel,"賬目管理");("菜單管理",menus,depotManagePanel,"菜單管理");("用戶管理",employee,stockManagePanel,"用戶管理");("幫助",help,sellManagePanel,"幫助");("退出系統(tǒng)",exits,searchStatisticPanel,"退出系統(tǒng)");returntabbedPane;5.4操作員界面實(shí)現(xiàn)整。開(kāi)單:操作員可以根據(jù)客戶選擇的臺(tái)號(hào)以及點(diǎn)的菜進(jìn)行開(kāi)單簽單、結(jié)賬、然后此臺(tái)號(hào)可以被重新使用。以刪除。系予以刪除。座位數(shù)進(jìn)行修改。幫助文檔:該文檔里的內(nèi)容有助于操作員及時(shí)明白自己的工作職責(zé)。退出系統(tǒng)按鈕:點(diǎn)擊此按鈕可以選擇是否要退出本系統(tǒng)。425-6操作員界面本系統(tǒng)操作員主界面分為5區(qū)、后臺(tái)管理工作區(qū)和系統(tǒng)安全提示區(qū)。如下是該類中一些方法:publicclassTipWizardFrameextendsJFrame{Publicstaticvoidmain(Stringargs[]){}PublicTipWizardFrame(finalVectorusr,Stringuser){}PrivatevoidmakeOutAnInvoice(){}PrivateStringgetNum(){}PrivatevoidinitNumComboBox(){}Privatevoida(JLabeldClueOnLabel){}ClassTimeextendsThread(){}}5.5系統(tǒng)功能實(shí)現(xiàn)5.5.1日結(jié)賬功能現(xiàn)方法:a)界面繪制:super();setModal(true);//設(shè)置對(duì)話框模式為“有模式(有模式:即在該窗口打開(kāi)時(shí),不允許其他窗口運(yùn)行)setTitle("日結(jié)賬");setSize(860,620);//設(shè)置窗體大小Toolkitkit=();Dimensionscreensize=();intWidth=;intHeight=;43intxx=(Width-890)/2;intyy=(Height-600)/2;setLocation(xx,yy);finalJButtonsubmitButton=newJButton();//確定按鈕finalJPanelpanel=newJPanel();getContentPane().add(panel,);intyear=();intmonth=();intday=();yearComboBox=newJComboBox();(10);StringminDatetime=();if(minDatetime==null){(year);}else{intminYear=((0,4));for(inty=minYear;y<=year;y++){(y);}}(year);judgeLeapYear(year);

(yearComboBox);finalJLabelyearLabel=newJLabel();("年");(yearLabel);monthComboBox=newJComboBox();

(12);for(intm=1;m<13;m++)44{(m);}(month);finalJLabelmonthLabel=newJLabel();("月");(monthLabel);dayComboBox=newJComboBox();(10);intdays=daysOfMonth[month];for(intd=1;d<=days;d++){(d);}(day);(dayComboBox);finalJLabeldayLabel=newJLabel();("日");(dayLabel);b)事件監(jiān)聽(tīng)(下面以一個(gè)確定按鈕為例):(newActionListener(){publicvoidactionPerformed(ActionEvente){();intyear=(Integer)();intmonth=(Integer)();intday=(Integer)();intcolumnCount=();VectororderFormV=(year+"-"+month+"-"+day);for(introw=0;row<();row++){45VectorrowV=newVector();//表格行對(duì)象VectororderForm=(Vector)(row);//消費(fèi)單對(duì)象StringorderFormNum=(1).toString();(orderFormNum);//編號(hào)((2));//臺(tái)號(hào)((3).toString().substring(11,19));//開(kāi)臺(tái)時(shí)間((4));//消費(fèi)金額for(intcolumn=4;column<columnCount;column++){("——");//商品消費(fèi)數(shù)量,默認(rèn)未消費(fèi)}VectororderItemV=(orderFormNum);for(inti=0;i<();i++){VectororderItem=(Vector)(i);//消費(fèi)項(xiàng)目對(duì)象StringmenuName=(3).toString();for(intcolumn=4;column<columnCount;column++){if((column).equals(menuName)){intamount=(Integer)(4);if((column).toString().equals("——"))(column,amount);else(column,(Integer)(column)+amount);break;}}}(rowV);}VectortotalV=newVector();("總計(jì)");46("——");("——");introwCount=();for(intcolumn=3;column<columnCount;column++){inttotal=0;for(introw=0;row<rowCount;row++){Objectvalue=(row).get(column);if(!("——"))total+=(Integer)value;}(total);}(totalV);ContainercontentPane=getContentPane();(1);(newFixedColumnTablePanel(tableColumnV,tableValueV,4),);(contentPane);}});5.5.2月結(jié)賬和年結(jié)賬結(jié)賬比日結(jié)賬少了一個(gè)限制條件“具體的日期。47根據(jù)具體的方法有所不同。這里不再陳述。5.5.3菜單管理本系統(tǒng)在獲得用戶的輸入內(nèi)容時(shí),經(jīng)常需要驗(yàn)證用戶的輸入數(shù)據(jù)的合法性,booleantruefalse時(shí)表示驗(yàn)證未通過(guò),數(shù)據(jù)不合法。具體代碼如下:publicclassValidate{publicstaticbooleanexecute(Stringrule,Stringcontent){Patternpattern=(rule);//利用驗(yàn)證規(guī)則創(chuàng)建Pattern對(duì)象Matchermatcher=(content);//利用驗(yàn)證內(nèi)容獲得Matcher對(duì)象return();//返回驗(yàn)證結(jié)果}}5.6本系統(tǒng)的一些特色方法同時(shí)實(shí)現(xiàn)這兩個(gè)愿望呢?48細(xì)節(jié)之處,讓系統(tǒng)更加完善。下面我們以操作員管理為例,具體陳述我們?cè)诿總€(gè)功能鍵中如何實(shí)現(xiàn)目標(biāo)。來(lái)提示用戶重新輸入。5-7操作員管理提示再例如:操作員和管理員的出生年月,當(dāng)輸入1753年一月一日以前的數(shù)據(jù)則提示如下:5-7友情提示實(shí)現(xiàn)上述連個(gè)功能的代碼如下:if((values[2].pareTo("1753-1-1"))<0){Stringinfos[]={"出生日期輸入錯(cuò)誤!","正確格式為:日期應(yīng)在1753-1-1以后"};(null,infos,"友情提示",_MESSAGE);("");();return;}下面我們對(duì)“添加按鈕功能的實(shí)現(xiàn)代碼來(lái)具體講解如何實(shí)現(xiàn)用戶管理這個(gè)界面的人性化和科學(xué)化:(newActionListener(){publicvoidactionPerformed(ActionEvente){49Stringvalues[]=newString[6];values[0]=().toString();values[1]=(()?"男":"女");values[2]=();values[3]=().toString();values[4]=().toString();values[5]="正常";if(values[0].length()>4)//對(duì)輸入的姓名長(zhǎng)度作正則驗(yàn)證{(null,"姓名最多只能為4個(gè)漢字!","友情提示",_MESSAGE);("");();return;//如果不正確,返回到輸入對(duì)話框,重新輸入}if(!("[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}",values[2])){Stringinfos[]={"出生日

溫馨提示

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

評(píng)論

0/150

提交評(píng)論