版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 前言1</b></p><p> 1 系統(tǒng)功能分析2</p><p> 2 開發(fā)技術(shù)介紹3</p><p><b> 3 數(shù)據(jù)庫(kù)設(shè)計(jì)4</b></p><p> 3.
2、1 數(shù)據(jù)庫(kù)中的數(shù)據(jù)表4</p><p> 3.2 數(shù)據(jù)庫(kù)中的E-R圖5</p><p><b> 4 詳細(xì)設(shè)計(jì)6</b></p><p> 4.1 系統(tǒng)功能模塊劃分6</p><p> 4.2 前臺(tái)服務(wù)7</p><p> 4.2.1 開臺(tái)點(diǎn)菜7</p><
3、;p> 4.2.2 智能化獲取菜品8</p><p> 4.2.3 消費(fèi)結(jié)賬9</p><p> 4.3 基礎(chǔ)信息10</p><p> 4.3.1 菜品管理10</p><p> 4.3.2 菜系管理12</p><p> 4.3.3 臺(tái)號(hào)管理13</p><p>
4、; 4.4 結(jié)賬報(bào)表14</p><p> 4.4.1 日結(jié)賬報(bào)表14</p><p> 4.4.2 月結(jié)賬報(bào)表14</p><p> 4.4.3 年結(jié)賬報(bào)表15</p><p> 4.5 系統(tǒng)安全16</p><p> 4.5.1 修改密碼16</p><p> 4.
5、5.2 用戶管理16</p><p> 5 課程設(shè)計(jì)小結(jié)17</p><p><b> 6 致謝17</b></p><p><b> 7 參考文獻(xiàn)18</b></p><p><b> 8 附錄18</b></p><p><b
6、> 前言</b></p><p> Java Java技術(shù)是當(dāng)今最流行最實(shí)用的計(jì)算機(jī)技術(shù),是二十世紀(jì)九十年代的計(jì)算機(jī)技術(shù)的重大發(fā)明,Java語(yǔ)言是一種純粹面向?qū)ο蟮母呒?jí)編程語(yǔ)言,是因特網(wǎng)上的世界語(yǔ);當(dāng)前Java應(yīng)用形勢(shì)一片大好,是整個(gè)企業(yè)系統(tǒng)的寵兒; 掌握J(rèn)ava技術(shù)是每一個(gè)關(guān)心和立志從事IT事業(yè)的人的內(nèi)功, 也是當(dāng)前市場(chǎng)的迫切需要, 更是振興中華軟件的絕好機(jī)會(huì)。</p>&l
7、t;p> Java是現(xiàn)在全球最時(shí)髦的開發(fā)工具之一,它擁有一套龐大且完善的類庫(kù),內(nèi)置了其他語(yǔ)言需要靠庫(kù)甚至是操作系統(tǒng)才能支持的功能,擁有一個(gè)虛擬機(jī),總之,Java的出現(xiàn),確實(shí)給整個(gè)程序界帶來了巨大的沖擊,也許現(xiàn)在還無法準(zhǔn)確評(píng)估Java為整個(gè)IT業(yè)帶來的影響,但是有一點(diǎn)卻毋庸置疑---Java將不可避免地影響一代程序員. Java是面積網(wǎng)絡(luò)的設(shè)計(jì)語(yǔ)言,用來讓程序員創(chuàng)建應(yīng)用程序,這些應(yīng)用程序可以通過下載,而且可在任何計(jì)算平臺(tái)上
8、安全地運(yùn)行,如果再加上互聯(lián)網(wǎng)和公司企業(yè)內(nèi)部網(wǎng)體系,你將會(huì)擁有一個(gè)未準(zhǔn)的網(wǎng)絡(luò)計(jì)算環(huán)境,Java作為一個(gè)分布式的,面向?qū)ο蟮某绦蛟O(shè)計(jì)各方,可以讓位于任何地方的任何計(jì)算機(jī)應(yīng)用網(wǎng)絡(luò)上的的應(yīng)用程序. 綜合上述,Java的生命力體現(xiàn)在如下方面: 1. Java產(chǎn)生與流行是InterNet發(fā)展的客觀要求. 2.是一門各方面性能都很好
9、的編程語(yǔ)言,它的基本特點(diǎn)是簡(jiǎn)單,面向?qū)ο?分布式,解釋的,健壯的,完全的,結(jié)構(gòu)中立的,可移植的,性能很優(yōu)異的,多線程的,動(dòng)態(tài)的,適合的Internet環(huán)境上開發(fā)應(yīng)用系統(tǒng). 3.Java可以制作大部分網(wǎng)絡(luò)應(yīng)用程序系統(tǒng),而</p><p> Java語(yǔ)言是一種功能強(qiáng)大的編程語(yǔ)言,分為J2SE、J2ME、J2EE幾個(gè)版本,作為初學(xué)者,我們先學(xué)習(xí)J2SE,在此基礎(chǔ)上我們做了一個(gè)關(guān)
10、于酒店管理的系統(tǒng)。</p><p><b> 1 系統(tǒng)功能分析</b></p><p> 酒店管理系統(tǒng)是針對(duì)酒店設(shè)計(jì)的一個(gè)軟件,用戶分為管理員用戶和普通用戶,普通用戶只有前臺(tái)服務(wù)中的前臺(tái)點(diǎn)菜,獲取菜品和修改密碼的權(quán)限。管理員擁有前臺(tái)服務(wù)中的開臺(tái)點(diǎn)菜、智能化獲取菜品、消費(fèi)結(jié)賬;基礎(chǔ)信息中的菜品管理、菜系管理、臺(tái)號(hào)管理;結(jié)賬報(bào)表中的日結(jié)賬報(bào)表、月結(jié)賬報(bào)表、年結(jié)賬報(bào)表以
11、及結(jié)賬報(bào)表添加導(dǎo)出功能;系統(tǒng)安全中的修改密碼、用戶管理。系統(tǒng)的具體流程圖如下1-1所示:</p><p> 圖 1-1 系統(tǒng)流程圖</p><p><b> 2 開發(fā)技術(shù)介紹</b></p><p> Java的開發(fā)中主要用到得技術(shù)java se,Java SE 是Java平臺(tái)標(biāo)準(zhǔn)版的簡(jiǎn)稱(Java Platform, Standard
12、Edition) (also known as Java 2 Platform) ,用于開發(fā)和部署桌面、服務(wù)器以及嵌入設(shè)備和實(shí)時(shí)環(huán)境中的Java應(yīng)用程序。Java SE包括用于開發(fā)Java Web服務(wù)的類庫(kù),同時(shí),Java SE為Java EE提供了基礎(chǔ)。 </p><p> Java SE(Java Platform, Standard Edition,Java標(biāo)準(zhǔn)版)就是基于JDK和JRE的。</p&
13、gt;<p> Common Dbutils是操作數(shù)據(jù)庫(kù)的組件,對(duì)傳統(tǒng)操作數(shù)據(jù)庫(kù)的類進(jìn)行二次封裝,可以把結(jié)果集轉(zhuǎn)化成List。 </p><p> DBUtils包括3個(gè)包: </p><p> org.apache.commons.dbutils </p><p> org.apache.commons.dbutils.handlers &l
14、t;/p><p> org.apache.commons.dbutils.wrappers </p><p> DBUtils封裝了對(duì)JDBC的操作,簡(jiǎn)化了JDBC操作,可以少寫代碼。 </p><p> org.apache.commons.dbutils </p><p> DbUtils 關(guān)閉鏈接等操作 </p>&l
15、t;p> QueryRunner 進(jìn)行查詢的操作 </p><p> org.apache.commons.dbutils.handlers </p><p> ArrayHandler :將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成對(duì)象數(shù)組 </p><p> ArrayListHandler將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放
16、的是Object[] </p><p> BeanHandler :將ResultSet中第一行的數(shù)據(jù)轉(zhuǎn)化成類對(duì)象 </p><p> BeanListHandler :將ResultSet中所有的數(shù)據(jù)轉(zhuǎn)化成List,List中存放的是類對(duì)象 </p><p> ColumnListHandler :將ResultSet中某一列的數(shù)據(jù)存成List,List中存
17、放的是Object對(duì)象 </p><p> KeyedHandler :將ResultSet中存成映射,key為某一列對(duì)應(yīng)為Map。Map中存放的是數(shù)據(jù) </p><p> MapHandler :將ResultSet中第一行的數(shù)據(jù)存成Map映射 </p><p> MapListHandler :將ResultSet中所有的數(shù)據(jù)存成List。List中存放的
18、是Map </p><p> ScalarHandler :將ResultSet中一條記錄的其中某一列的數(shù)據(jù)存成Object </p><p> org.apache.commons.dbutils.wrappers </p><p> SqlNullCheckedResultSet :對(duì)ResultSet進(jìn)行操作,改版里面的值 </p><
19、;p> StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()</p><p><b> 3 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p> 3.1 數(shù)據(jù)庫(kù)中的數(shù)據(jù)表</p><p> 系統(tǒng)的數(shù)據(jù)庫(kù)中一共用了六張數(shù)據(jù)表,分別是tb_desk,tb_menu, tb_order_form,tb_
20、order_item,tb_sort ,tb_sort tb_user表中的具體字段及各個(gè)字段的意義見下列各表:</p><p> ?。?)桌子信息表用于存放臺(tái)號(hào)及其座位數(shù)如下表3-1所示:</p><p> 表3-1 桌子信息表tb_desk</p><p> ?。?)菜基本信息表tb_menu,主用于存放菜品編號(hào)、名稱、單價(jià)等菜品信息。菜品信息表如下表3-2所
21、示:</p><p> 表3-2 菜基本信息表tb_menu</p><p> ?。?)顧客點(diǎn)菜表tb_order_form:用于存放簽單編號(hào)、時(shí)間、總消費(fèi)額等簽單信息。如表3-3所示:</p><p> 表3-3顧客點(diǎn)菜表tb_order_form</p><p> (4)顧客點(diǎn)菜統(tǒng)計(jì)表tb_order_item:用于存放簽單所簽菜品
22、編號(hào)、消費(fèi)數(shù)量等簽單詳細(xì)信息。如下表3-4所示:</p><p> 表3-4 顧客點(diǎn)菜統(tǒng)計(jì)表tb_order_item</p><p> (5)菜系類別表tb_sort:存放菜類名稱等信息,如下表3-5所示:</p><p> 表3-5 菜系類別表tb_sort</p><p> ?。?)管理員信息表tb_user:存放操作員賬號(hào)密碼、
23、權(quán)限級(jí)別及其基本信息。如下表3-6所示:</p><p> 表3-6 管理員信息表tb_user</p><p> 3.2 數(shù)據(jù)庫(kù)中的E-R圖</p><p> E-R圖是反映各個(gè)實(shí)體之間的關(guān)系的,以及實(shí)體的屬性,為數(shù)據(jù)庫(kù)提供了一個(gè)很直觀的效果。E-R圖如下圖3-1所示:</p><p> 圖 3-1 全局E-R圖</p>
24、<p><b> 4 詳細(xì)設(shè)計(jì)</b></p><p> 詳細(xì)設(shè)計(jì)也即過程設(shè)計(jì),確定如何具體地實(shí)現(xiàn)酒店管理系統(tǒng)所需的功能,準(zhǔn)確描述概要設(shè)計(jì)中劃分的各模塊具體執(zhí)行過程,從而在編碼階段可以直接把這個(gè)描述翻譯成某種語(yǔ)言書寫的程序。</p><p> 4.1 系統(tǒng)功能模塊劃分 </p><p> 按結(jié)構(gòu)化設(shè)計(jì)方法,在系統(tǒng)功能逐層分
25、解的基礎(chǔ)上,對(duì)系統(tǒng)各功能模塊進(jìn)行設(shè)計(jì)。酒店管理系統(tǒng),包含四個(gè)模塊:前臺(tái)服務(wù)、基礎(chǔ)信息、結(jié)賬報(bào)表和系統(tǒng)安全;具體的結(jié)構(gòu)設(shè)計(jì)圖HIPO圖如下:</p><p> 圖 4-1結(jié)構(gòu)設(shè)計(jì)圖HIPO</p><p><b> 4.2 前臺(tái)服務(wù)</b></p><p> 前臺(tái)服務(wù)主要是為了提供酒店日常運(yùn)營(yíng)時(shí)候的各個(gè)功能,可以進(jìn)行用戶登錄、開臺(tái)點(diǎn)菜、智能
26、化獲取菜品和常用的消費(fèi)結(jié)賬。</p><p><b> 4.2.1用戶登錄</b></p><p> 用戶登錄用于用戶登錄進(jìn)入主界面,由于進(jìn)行運(yùn)行方便的需要,默認(rèn)用戶名和密碼改為系統(tǒng)默認(rèn)帳號(hào)和密碼。用戶登錄效果如圖4-2所示:</p><p> 圖 4-2 用戶登錄圖</p><p> 4.2.2 開臺(tái)點(diǎn)菜<
27、;/p><p> 開臺(tái)點(diǎn)菜是當(dāng)有顧客需要點(diǎn)菜的時(shí)候,直接選擇酒店的某一臺(tái)號(hào),然后添加若干菜品開單,可在簽單前取消所選菜品,簽單后不可取消,同時(shí)要求在選擇菜品時(shí)顯示該臺(tái)的消費(fèi)金額,在經(jīng)客人確定后簽單該臺(tái)的點(diǎn)菜。</p><p> 智能化獲取菜品功能是可根據(jù)菜品的編碼或者助記碼(拼音首字母)選擇菜品,在輸入相關(guān)信息的同時(shí)顯示有關(guān)菜品,可通過“開單”按鈕或回車鍵開單。開臺(tái)點(diǎn)菜和智能化獲取菜品功能
28、效果如下圖4-3所示: </p><p> 圖 4-3 開臺(tái)點(diǎn)菜圖</p><p> 4.2.3 消費(fèi)結(jié)賬</p><p> 消費(fèi)結(jié)賬是在客人簽完單之后結(jié)賬的時(shí)候需要的,并顯示找零金額信息。具體效果如下圖所示:</p><p> 圖 4-4 消費(fèi)結(jié)賬圖</p><p><b> 4.3 基礎(chǔ)信息&l
29、t;/b></p><p> 基礎(chǔ)信息模塊可以對(duì)菜品,菜系以及臺(tái)號(hào)進(jìn)行管理,在菜品管理中可以對(duì)菜品進(jìn)行添加刪除功能;在菜系管理中可以對(duì)菜系進(jìn)行添加、刪除;在臺(tái)號(hào)管理中可以對(duì)臺(tái)號(hào)進(jìn)行添加、刪除的功能。</p><p> 4.3.1 菜品管理</p><p> 菜品管理可以添加和刪除菜品;菜品信息包括編號(hào)(自動(dòng)產(chǎn)生)、名稱、單位、助記碼、菜系、單價(jià)信息。添加
30、和刪除功能效果如下圖4-5所示:</p><p> 圖 4-5 菜品管理窗體效果圖</p><p> 4.3.2 菜系管理</p><p> 菜系管理是對(duì)酒店所有的菜系進(jìn)行管理,如添加、刪除菜系名稱;添加和刪除功能效果圖如圖4-7所示:</p><p> 圖 4-7 菜系管理窗體效果圖</p><p> 4.
31、3.3 臺(tái)號(hào)管理</p><p> 臺(tái)號(hào)管理是針對(duì)桌子的號(hào)碼以及座位數(shù)進(jìn)行添加,刪除操作的;添加和刪除效果如圖4-9所示:</p><p> 圖 4-9 臺(tái)號(hào)管理窗體效果圖</p><p><b> 4.4 結(jié)賬報(bào)表</b></p><p> 4.4.1 日結(jié)賬報(bào)表</p><p> 日
32、結(jié)賬報(bào)表可以顯示與查詢?nèi)战Y(jié)賬報(bào)表,包括編號(hào)、臺(tái)號(hào)、開臺(tái)時(shí)間、消費(fèi)金額以及該單中消費(fèi)的菜品與數(shù)量信息;顯示效果如圖4-11所示:</p><p> 圖 4-11 日結(jié)賬報(bào)表圖</p><p> 4.4.2 月結(jié)賬報(bào)表</p><p> 月結(jié)賬報(bào)表是顯示與查詢?cè)陆Y(jié)賬報(bào)表,包括日期、開臺(tái)總數(shù)、消費(fèi)總額、平均消費(fèi)額、最大消費(fèi)額、最小消費(fèi)額信息;顯示效果如圖4-12所示
33、:</p><p> 圖 4-12 月結(jié)賬報(bào)表圖</p><p> 4.4.3 年結(jié)賬報(bào)表</p><p> 年結(jié)賬報(bào)表是顯示與查詢年結(jié)賬報(bào)表,包括一年中每個(gè)月每天的消費(fèi)金額以及每個(gè)月消費(fèi)總計(jì)與每個(gè)月同一天的消費(fèi)總計(jì)信息;顯示效果如圖4-13所示:</p><p> 圖 4-13 年結(jié)賬報(bào)表圖</p><p>
34、<b> 4.5 系統(tǒng)安全</b></p><p> 4.5.1 修改密碼</p><p> 修改密碼功能為用戶的安全考慮,用戶可以修改自己的用戶密碼;顯示效果如圖4-14所示:</p><p> 圖 4-14修改用戶密碼圖</p><p> 4.5.2 用戶管理</p><p> 用
35、戶管理模塊可以添加、刪除用戶,包括姓名、性別、出生日期、登錄密碼、身份證號(hào)信息;效果顯示圖如4-15所示:</p><p> 圖 4-15 用戶管理圖</p><p><b> 5 課程設(shè)計(jì)小結(jié)</b></p><p> 此次課程設(shè)計(jì)由于時(shí)間緊迫,被允許由三到四人合作分工完成,在此過程中遇到諸多問題,例如數(shù)據(jù)庫(kù)鏈接、Java類命名和Jav
36、a程序完成后的模塊組裝等問題。</p><p> 在此次設(shè)計(jì)中,張海峰負(fù)責(zé)菜品管理模塊、李志芳負(fù)責(zé)結(jié)賬管理模塊、我(徐聰)負(fù)責(zé)前臺(tái)服務(wù)和用戶管理模塊。由于本組中有男女組合,溝通問題受到極大挑戰(zhàn)。</p><p> 通過此次課程設(shè)計(jì),極大提升了我們的Java設(shè)計(jì)能力以及理解能力,并加大了我們的Java合作設(shè)計(jì)的了解度。</p><p><b> 6 致
37、謝</b></p><p> 在這個(gè)項(xiàng)目的制作的過程中,得到了很多人的幫助,首先感謝學(xué)校提供給了我們這樣的機(jī)會(huì)來將理論知識(shí)轉(zhuǎn)化為實(shí)際經(jīng)驗(yàn);其次感謝xx老師在這個(gè)項(xiàng)目上的指導(dǎo)和提供的幫助;最后感謝很多熱心的同學(xué)的幫忙,很多困難都是在大家的討論中得到解決的辦法的。</p><p><b> 7 參考文獻(xiàn)</b></p><p>
38、[1] 胡伏湘 雷軍環(huán). Java程序設(shè)計(jì)實(shí)用教程 北京:清華大學(xué)出版社,2009.8 </p><p> [2] 張躍平 耿祥義. Java大學(xué)實(shí)用教程學(xué)習(xí)指導(dǎo) 北京:電子工業(yè)出版社,2008.5</p><p> [3] 譚浩強(qiáng). Java編程技術(shù) 北京:人民郵電出版社,2003.4 </p><p><b> 8 附錄</b><
39、;/p><p><b> 部分主要代碼:</b></p><p> 1)登錄模塊的主要代碼:</p><p> public class LandFrame extends JFrame {</p><p> private JLabel namelabel; // 用戶
40、名文本輸出顯示</p><p> private JLabel pswlabel; // 密碼文本輸出顯示</p><p> private JPasswordField passwordField; // 密碼框</p><p> private JComboBox usernameCom
41、boBox; // 用戶名下拉菜單</p><p> private JLabel eplabel1,eplabel2; // 按鈕之間的空格</p><p> public static void main(String args[]) {</p><p><b> try {</b&g
42、t;</p><p> LandFrame frame = new LandFrame();</p><p> frame.setVisible(true);</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b
43、> }</b></p><p><b> }</b></p><p> public LandFrame() {</p><p> // 首先設(shè)置窗口的相關(guān)信息</p><p> setTitle("酒店管理系統(tǒng)-登錄");
44、 // 設(shè)置窗口的標(biāo)題</p><p> setResizable(false); // 設(shè)置窗口不可以改變大小</p><p> setAlwaysOnTop(true); // 設(shè)置窗口總在最前方</p>
45、<p> setBounds(100, 100, 300, 200); // 設(shè)置窗口的大小</p><p> setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 設(shè)置當(dāng)關(guān)閉窗口時(shí)執(zhí)行的動(dòng)作</p><p> // 下面將創(chuàng)建一個(gè)面板對(duì)象并添加
46、到窗口的容器中</p><p> final JPanel panel = new JPanel(); // 創(chuàng)建一個(gè)面板對(duì)象</p><p> panel.setLayout(new GridBagLayout()); // 設(shè)置面板的布局管理器為網(wǎng)格組布局</p><p
47、> getContentPane().add(panel, BorderLayout.CENTER); // 將面板添加到窗體中</p><p> //添加用戶名輸入前的文本輸出顯示</p><p> namelabel=new JLabel();</p><p> namelabel.setText("用戶名 :&qu
48、ot;);</p><p> namelabel.setFont(new Font("宋體",Font.BOLD,16));</p><p> final GridBagConstraints g1 = new GridBagConstraints();</p><p> g1.insets=new Insets(15,0,0,0);
49、 //將頂部、左邊、底部、右邊設(shè)置為指定值</p><p> g1.gridx = 1; // 設(shè)置行索引為2</p><p> g1.gridy = 1;
50、 // 設(shè)置列索引為1</p><p> panel.add(namelabel, g1);// 將組件按指定的布局管理器添加到面板中</p><p> // 創(chuàng)建并設(shè)置用戶名下拉菜單</p><p> usernameComboBox = new JComboBox(); // 創(chuàng)建用戶名下拉菜單組件對(duì)象&l
51、t;/p><p> usernameComboBox.setMaximumRowCount(5); // 設(shè)置下拉菜單最多可顯示的選項(xiàng)數(shù)</p><p> usernameComboBox.addItem("徐聰"); // 為下拉菜單添加提示項(xiàng)</p><p
52、> usernameComboBox.addActionListener(new UsernameComboBoxActionListener()); // 為下拉菜單添加事件監(jiān)聽器</p><p> g1.anchor = GridBagConstraints.WEST; // 設(shè)置為靠左側(cè)顯示</p><p> g1.i
53、nsets=new Insets(15,0,0,0); // 將頂部、左邊、底部、右邊設(shè)置為指定值</p><p> g1.gridy = 1; // 設(shè)置行索引為1</p><p> g1.gridx = 2;
54、 // 設(shè)置列索引為2</p><p> panel.add(usernameComboBox, g1); // 將組件按指定的布局管理器添加到面板中</p><p> // 添加密碼輸入前的文本輸出顯示</p><p> pswlabel=n
55、ew JLabel();</p><p> pswlabel.setText("密 碼 :");</p><p> pswlabel.setFont(new Font("宋體",Font.BOLD,16));</p><p> g1.insets=new Insets(15,0,0,0);</p><
56、;p> g1.gridx = 1;</p><p> g1.gridy = 2;</p><p> panel.add(pswlabel, g1);</p><p> // 創(chuàng)建并設(shè)置密碼框</p><p> passwordField = new JPasswordField();</p><p>
57、 passwordField.setColumns(10); // 設(shè)置密碼框可顯示的字符數(shù)</p><p> passwordField.setText("111"); // 設(shè)置密碼框默認(rèn)顯示三個(gè)一</p><p> g1.insets
58、= new Insets(5, 0, 0, 0); // 設(shè)置組件外部上方的填充量為5像素</p><p> g1.anchor = GridBagConstraints.WEST;</p><p> g1.gridy = 2;</p><p> g1.gridx = 2;</p><p&g
59、t; panel.add(passwordField, g1);</p><p> // 創(chuàng)建并設(shè)置一個(gè)用來添加三個(gè)按鈕的面板</p><p> final JPanel buttonPanel = new JPanel(); // 創(chuàng)建一個(gè)用來添加按鈕的面板</p><p> buttonPanel.setOpaqu
60、e(false); // 設(shè)置面板的背景為透明</p><p> buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS)); // 設(shè)置面板采用水平箱布局</p><p> final GridBagConstraints g2
61、= new GridBagConstraints(); // 創(chuàng)建網(wǎng)格組布局管理器對(duì)象</p><p> g2.insets = new Insets(10, 0, 0, 0); // 設(shè)置組件外部上方的填充量為10像素</p><p> g2.gridwidth = 2;
62、 // 設(shè)置其占兩列</p><p> g2.gridy = 3; // 設(shè)置行索引為3</p><p> g2.gridx = 1; // 設(shè)置列索引為1</p&
63、gt;<p> panel.add(buttonPanel, g2); // 將組件按指定的布局管理器添加到面板中</p><p> // 創(chuàng)建并設(shè)置一個(gè)登錄按鈕,并將其添加到用來添加按鈕的面板中</p><p> final JButton landButton = new JButton();
64、 // 創(chuàng)建登錄按鈕組件對(duì)象</p><p> landButton.setText("登 陸");</p><p> landButton.setMargin(new Insets(0, 0, 0, 0)); // 設(shè)置按鈕邊框和標(biāo)簽之間的間隔</p><p> landB
65、utton.setContentAreaFilled(false); // 設(shè)置不繪制按鈕的內(nèi)容區(qū)域</p><p> landButton.setBorderPainted(true); // 設(shè)置不繪制按鈕的邊框</p><p> landButton.addActionListener(
66、new LandButtonActionListener());</p><p> buttonPanel.add(landButton); // 將登錄按鈕添加到用來添加按鈕的面板中</p><p> eplabel1=new JLabel();</p><p> eplabel1.setTex
67、t(" ");</p><p> buttonPanel.add(eplabel1);</p><p> // 重置按鈕的創(chuàng)建和添加</p><p> final JButton resetButton = new JButton();</p><p> resetButton.setText(&qu
68、ot;重 置");</p><p> resetButton.setMargin(new Insets(0, 0, 0, 0));</p><p> resetButton.setContentAreaFilled(false);</p><p> resetButton.setBorderPainted(true);</p>&
69、lt;p> resetButton.addActionListener(new ResetButtonActionListener());</p><p> buttonPanel.add(resetButton);</p><p> eplabel2=new JLabel();</p><p> eplabel2.setText("
70、 ");</p><p> buttonPanel.add(eplabel2);</p><p> // 退出按鈕的創(chuàng)建和添加</p><p> final JButton exitButton = new JButton();</p><p> exitButton.setText("退 出"
71、;);</p><p> exitButton.setMargin(new Insets(0, 0, 0, 0));</p><p> exitButton.setContentAreaFilled(false);</p><p> exitButton.setBorderPainted(true);</p><p> exitBut
72、ton.addActionListener(new ExitButtonActionListener());</p><p> buttonPanel.add(exitButton);</p><p> // 初始化用戶名下拉菜單</p><p> Vector userNameV = Dao.getInstance().sUserNameOfNotFreez
73、e();</p><p> if (userNameV.size() == 0) { // 添加復(fù)選框選項(xiàng)內(nèi)容</p><p> usernameComboBox.addItem("徐聰");</p><p><b> } else {</b><
74、/p><p> for (int i = 0; i < userNameV.size(); i++) {</p><p> usernameComboBox.addItem(userNameV.get(i));</p><p><b> }</b></p><p><b> }</b>&l
75、t;/p><p><b> }</b></p><p> 2)用戶管理模塊的主要代碼</p><p> public UserManagerDialog() {</p><p><b> super();</b></p><p> setModal(true);<
76、/p><p> setTitle("酒店管理系統(tǒng)-用戶管理");</p><p> setBounds(100, 100, 500, 375);</p><p> final JPanel inputPanel = new JPanel();</p><p> inputPanel.setLayout(new Grid
77、BagLayout());</p><p> getContentPane().add(inputPanel, BorderLayout.NORTH);</p><p> final JLabel nameLabel = new JLabel();</p><p> nameLabel.setText("姓 名:");</p&g
78、t;<p> final GridBagConstraints gridBagConstraints_13 = new GridBagConstraints();</p><p> gridBagConstraints_13.insets = new Insets(10, 0, 0, 0);</p><p> inputPanel.add(nameLabel, grid
79、BagConstraints_13);</p><p> nameTextField = new JTextField();</p><p> nameTextField.setColumns(6);</p><p> final GridBagConstraints gridBagConstraints = new GridBagConstraints();
80、</p><p> gridBagConstraints.insets = new Insets(10, 0, 0, 0);</p><p> gridBagConstraints.gridy = 0;</p><p> gridBagConstraints.gridx = 1;</p><p> inputPanel.add(nam
81、eTextField, gridBagConstraints);</p><p> final JLabel sexLabel = new JLabel();</p><p> sexLabel.setText("性別:");</p><p> final GridBagConstraints gridBagConstraints_1 =
82、new GridBagConstraints();</p><p> gridBagConstraints_1.insets = new Insets(10, 15, 0, 0);</p><p> gridBagConstraints_1.gridy = 0;</p><p> gridBagConstraints_1.gridx = 2;</p>
83、;<p> inputPanel.add(sexLabel, gridBagConstraints_1);</p><p> final JRadioButton manRadioButton = new JRadioButton();</p><p> buttonGroup.add(manRadioButton);</p><p> man
84、RadioButton.setText("男");</p><p> manRadioButton.setSelected(true);</p><p> final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints();</p><p> gridBagCon
85、straints_2.insets = new Insets(10, 0, 0, 0);</p><p> gridBagConstraints_2.gridy = 0;</p><p> gridBagConstraints_2.gridx = 3;</p><p> inputPanel.add(manRadioButton, gridBagConstra
86、ints_2);</p><p> final JRadioButton womanRadioButton = new JRadioButton();</p><p> buttonGroup.add(womanRadioButton);</p><p> womanRadioButton.setText("女");</p>
87、<p> final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints();</p><p> gridBagConstraints_3.insets = new Insets(10, 0, 0, 0);</p><p> gridBagConstraints_3.gridy = 0;</
88、p><p> gridBagConstraints_3.gridx = 4;</p><p> inputPanel.add(womanRadioButton, gridBagConstraints_3);</p><p> final JLabel birthdayLabel = new JLabel();</p><p> birth
89、dayLabel.setText("出生日期:");</p><p> final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints();</p><p> gridBagConstraints_4.insets = new Insets(10, 15, 0, 0);</p>
90、<p> gridBagConstraints_4.gridy = 0;</p><p> gridBagConstraints_4.gridx = 5;</p><p> inputPanel.add(birthdayLabel, gridBagConstraints_4);</p><p> birthdayTextField = new
91、JTextField();</p><p> birthdayTextField.setColumns(10);</p><p> final GridBagConstraints gridBagConstraints_5 = new GridBagConstraints();</p><p> gridBagConstraints_5.insets = ne
92、w Insets(10, 0, 0, 0);</p><p> gridBagConstraints_5.gridy = 0;</p><p> gridBagConstraints_5.gridx = 6;</p><p> inputPanel.add(birthdayTextField, gridBagConstraints_5);</p>
93、<p> final JLabel passwordLabel = new JLabel();</p><p> passwordLabel.setText("登錄密碼:");</p><p> final GridBagConstraints gridBagConstraints_8 = new GridBagConstraints();</p
94、><p> gridBagConstraints_8.insets = new Insets(5, 0, 0, 0);</p><p> gridBagConstraints_8.gridy = 1;</p><p> gridBagConstraints_8.gridx = 0;</p><p> inputPanel.add(pass
95、wordLabel, gridBagConstraints_8);</p><p> passwordTextField = new JTextField();</p><p> passwordTextField.setColumns(15);</p><p> final GridBagConstraints gridBagConstraints_9 =
96、new GridBagConstraints();</p><p> gridBagConstraints_9.gridwidth = 4;</p><p> gridBagConstraints_9.anchor = GridBagConstraints.WEST;</p><p> gridBagConstraints_9.insets = new Ins
97、ets(5, 0, 0, 0);</p><p> gridBagConstraints_9.gridy = 1;</p><p> gridBagConstraints_9.gridx = 1;</p><p> inputPanel.add(passwordTextField, gridBagConstraints_9);</p><p
98、> final JLabel idCardLabel = new JLabel();</p><p> idCardLabel.setText("身份證號(hào):");</p><p> final GridBagConstraints gridBagConstraints_6 = new GridBagConstraints();</p><
99、p> gridBagConstraints_6.insets = new Insets(5, 16, 0, 0);</p><p> gridBagConstraints_6.gridy = 1;</p><p> gridBagConstraints_6.gridx = 5;</p><p> inputPanel.add(idCardLabel,
100、gridBagConstraints_6);</p><p> idCardTextField = new JTextField();</p><p> idCardTextField.setColumns(10);</p><p> final GridBagConstraints gridBagConstraints_7 = new GridBagCons
101、traints();</p><p> gridBagConstraints_7.insets = new Insets(5, 0, 0, 0);</p><p> gridBagConstraints_7.gridy = 1;</p><p> gridBagConstraints_7.gridx = 6;</p><p> inp
102、utPanel.add(idCardTextField, gridBagConstraints_7);</p><p> final JPanel buttonPanel = new JPanel();</p><p> final GridBagConstraints gridBagConstraints_10 = new GridBagConstraints();</p>
103、;<p> gridBagConstraints_10.anchor = GridBagConstraints.EAST;</p><p> gridBagConstraints_10.insets = new Insets(5, 0, 10, 0);</p><p> gridBagConstraints_10.gridwidth = 7;</p>&l
104、t;p> gridBagConstraints_10.gridy = 2;</p><p> gridBagConstraints_10.gridx = 0;</p><p> inputPanel.add(buttonPanel, gridBagConstraints_10);</p><p> Java課程設(shè)計(jì)成績(jī)?cè)u(píng)定</p><
105、;p> 成績(jī)?cè)u(píng)定: (百分制)</p><p> 指導(dǎo)教師簽字: </p><p> 檢查時(shí)間: </p><p> 系部簽章: </p&g
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--酒店管理系統(tǒng)
- java酒店管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)--酒店住宿管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)--基于java的酒店管理系統(tǒng)
- java課程設(shè)計(jì)-文件管理系統(tǒng)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)--學(xué)籍管理系統(tǒng)
- java學(xué)生管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)(班級(jí)管理系統(tǒng))
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- 酒店管理系統(tǒng)課程設(shè)計(jì)
- java課程設(shè)計(jì)學(xué)籍管理系統(tǒng)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- 學(xué)生管理系統(tǒng)-java課程設(shè)計(jì)
- 學(xué)生管理系統(tǒng)課程設(shè)計(jì)(java)
- java課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論