【正文】
,返 回 數(shù) 據(jù) 圖 2 點菜功能流程圖 這部分主要是要實現(xiàn)將顧客所選擇的桌號和菜品等數(shù)據(jù)存進數(shù)據(jù)庫,調(diào)用DriverManaget 類的靜態(tài)方法 getConnection 建立一個數(shù)據(jù)庫連接,并定義一個remark 標志,當顧客選擇了哪號桌或者哪個菜時,就可以向數(shù)據(jù)庫中寫入語句,這樣,當用戶點擊確定后就保存數(shù)據(jù)。然后設(shè)置三個按鈕,分別是確定、結(jié)賬和取消按鈕。 通過 Container contentPane = ()獲得其內(nèi)容面板,然后新建一個中間容器,在容器內(nèi)添加兩個按鈕,分別表示進入系統(tǒng)和退出系統(tǒng),點擊按鈕時,就可觸發(fā)相應(yīng)的 ActionEvent 事件,通過 getActionCommand()獲得按鈕標簽,當點擊進入系統(tǒng)時關(guān)閉對話框,進入點菜系統(tǒng)主界面,否則即可退出系統(tǒng)。通過 JAVA 與該數(shù)據(jù)表的連接關(guān)系對該表的數(shù)據(jù)進行輸入,然后通過顧客對數(shù)據(jù)的隨機選擇來調(diào)用數(shù)據(jù)表的數(shù)據(jù),實現(xiàn)不同的功能。 其基本的流程為:顧客來酒店選擇桌號 —— 按照菜譜上的菜的種類選擇所需要的菜 —— 然后按下確認鍵確定要選擇的菜品 —— 統(tǒng)計所選擇菜的價格 —— 結(jié)帳付款為所有菜的編號所相對應(yīng)的價格相加并驗證自己付款是否有誤。利用 JDBC訪問數(shù)據(jù)庫大致包含以下三個步驟: ① 建立與數(shù)據(jù)庫的連接 ② 通過發(fā)送 SQL語句對數(shù)據(jù)庫進行讀寫 ③ 處理語句的執(zhí)行結(jié)果,特別是查詢語句的返回數(shù)據(jù) 三、詳細設(shè)計步驟 本系統(tǒng)采用基本的 JAVA 語言編寫,由于 JAVA 語言不同與 C++語言,它具有其語言的特殊性,包含很多類,基本是每一種功能為一個類。 JDBC 對 java 程序員而言是 API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。 JDBC 是一種用于訪問數(shù)據(jù)庫和執(zhí)行 SQL 語句的 java 編程接口,由一組用java 語言編寫的類和接口組 成。 Driver 是 java 定義的一個接口,每一個驅(qū)動程序類都必須實現(xiàn)這個接口。 在對數(shù)據(jù)進行操作之前,首先要建立程序與一個具體數(shù)據(jù)庫的連接, 而在連接數(shù)據(jù)庫以前,必須注冊該數(shù)據(jù)庫的驅(qū)動程序。 在 java 的編程中,需要用到 Access 數(shù)據(jù)庫,啟動進入 Access 后,創(chuàng)建一個數(shù)據(jù)庫,然后定義表的列名與列的數(shù)據(jù)類型 ,分別用于存放桌位號、菜品名 6 稱及菜品價格。然后因為要顯示桌位號和菜品,利用單選按鈕組來實現(xiàn)顧客的選菜功能,創(chuàng)建一個單選按鈕組,提供選中 /不選中兩種狀態(tài),ButtonGroup 是由一組互斥的按鈕組成,同一時刻只能有一個按鈕被選中,將桌位號的按鈕組加入到此按 鈕組中。 包中定義了 5 種布局管理器類,每個布局管理器類對應(yīng)一種布局策略。布局管理器負責確定組件在容器中的位置和大小。首先創(chuàng)建一個對話框,在其內(nèi)容面板內(nèi)添加兩個組件按鈕,當進入系統(tǒng)后,即可進入主菜單界面,此部分主要是要實現(xiàn)對按鈕的監(jiān)聽事件,即使用 addActionListener(this)事件監(jiān)聽器,事件處理接口的方法為 actionPerformed(ActionEvent e)。 二、 設(shè)計原理 本設(shè)計主要用到 java 語言程序設(shè)計、 SQL 語言以及 Access 數(shù)據(jù)庫。 通過本次課程設(shè)計可以加深對 java 語言程序設(shè)計基本知識的理解,掌握 java語言程序編寫和調(diào)試的基本技能,了解有關(guān)程序設(shè)計、程序開發(fā)的思路方法,提高利用軟件程序解決實際問題的能力。顧客在結(jié)賬時應(yīng)付的錢為:每種菜的單位價格相加為總的付款。 在餐廳里有很多種菜譜,每一種菜有一個名稱,對應(yīng)一個唯一的編號和一個固定的單位價格。 關(guān)鍵詞 點菜系統(tǒng)、高效、 Access2021數(shù)據(jù)庫、 java ABSTRACT Restaurant order system is in order to realize the automation and the design of the restaurant order, without artificial waiter guests can automatically plete this order process, thereby avoiding the waiter39。 在開發(fā)餐廳點菜系統(tǒng)中, 采用 JAVA 語言程序設(shè)計的基本知識, JAVA 語言程序設(shè)計的基本方法和基本思想,運用數(shù)據(jù)庫對表的基本操作,常用查詢語句的使用以及 ACCESS 對表的數(shù)據(jù)的設(shè)計,利用圖形化編程和 JDBC 技術(shù)來實現(xiàn)餐廳點菜系統(tǒng)的設(shè)計 。 西南科技大學 專業(yè)方向設(shè)計報告 課程名稱: 通信專業(yè)方向設(shè)計 設(shè)計名稱: 基于 java 的餐廳點菜系統(tǒng) 姓 名: * * 學 號 : ****** 班 級: 通信 0901 指導(dǎo)教師: 江 虹 起止日期: —— 西南科技大學信息工程學院制 2 方 向 設(shè) 計 任 務(wù) 書 學生班級: 通信 0901 學生姓名: * * 學號 ********* 設(shè)計名稱: 基于 java 的餐廳點菜系統(tǒng) 起止日期: —— 指導(dǎo)教師: 江虹、羅智 設(shè)計要求: 利用 java 設(shè) 計一個餐廳點菜系統(tǒng) 有桌位號供顧客選擇 在菜單顯示中,可以瀏覽菜品及對應(yīng)的價格 顧客可以隨意選擇自己喜歡的菜 可以增刪選菜記錄 生成賬單 在賬單界面顯示消費總額、所選菜品及菜品總數(shù) 結(jié)賬后清空數(shù)據(jù)庫中的信息 獨立完成整個設(shè)計 方 向 設(shè) 計 學 生 日 志 時間 設(shè)計內(nèi)容 — 熟悉餐廳點 菜系統(tǒng)的原理 — 分析系統(tǒng)需要實現(xiàn)的功能,并針對每個功能做相應(yīng)的準備 — 設(shè)計一個簡單的界面,在此基礎(chǔ)上增添基本功能 — 在實現(xiàn)功能的基礎(chǔ)上進行調(diào)試、修改 — 增添功能,完善系統(tǒng)設(shè)計 — 在實現(xiàn)功能的基礎(chǔ)上對系統(tǒng)的界面進行美化 — 整理文檔,撰寫報告 答辯 3 方 向 設(shè) 計 評 語 表 指導(dǎo)教師評語: 成績: 指導(dǎo)教師: 年 月 日 4 基于 java 的餐廳點菜系統(tǒng) 摘要 餐廳點菜系統(tǒng)是為了實現(xiàn)餐廳點菜自動化而設(shè)計的, 不用人工服務(wù)員客人就可以自行完成點菜這一過程,從而避免了由于服務(wù)員的疏忽或者態(tài)度等問題為客人造成不必要的麻煩。利用點菜系統(tǒng)可以 及時、準確、高效的為客人提供服務(wù),減少了很多繁瑣的過程。通過系統(tǒng)的開發(fā)掌握軟件的基本的開發(fā)流程,了解系統(tǒng)的功能,從而掌握軟件開發(fā)整體過程,把知識運用到實際 生產(chǎn)中。s carelessness or attitudes to such issues as guests to cause unnecessary order system can offer timely, accurately and effectively service for the guest and reduce a lot of cumbersome process. In the development of the restaurant order system, using the basic knowledge of JAVA programming language , the basic method and basic idea, the use of the basic operation on the database table ,the use of mon queries and ACCESS to the design of the data in the table ,the use of graphical programming and JDBC technology, to achieve the restaurant order system the development of the system to master the basic software development process , understanding the function of the system, so as to grasp the whole process of software development, using the knowledge to practical production 一、 設(shè)計目的和意義 餐廳點菜系統(tǒng)所要完成的基本功能就是實現(xiàn)無服務(wù)生點菜,客人可以通過點菜系統(tǒng)自行點菜。當有顧客來酒店時,顧客首先選擇一個桌位號(也是唯一的),當顧客進入餐廳點菜系統(tǒng)后,就可以按照菜譜上有的菜來點菜。編程語言為 java,利用 Access2021 作為后臺數(shù)據(jù)庫,該系統(tǒng)主要面向中小型餐飲企業(yè)提供餐飲點菜功 5 能,系統(tǒng)后臺數(shù)據(jù)庫只有一張表,用于保存菜品名稱、價格和桌位號。在設(shè)計過程中,可以培養(yǎng)我們分析問題、解決問題的能力,把理論與實際結(jié)合在一起,可以更好的掌握好一門語言,同時因為需要用到數(shù)據(jù)庫,所以可以通過此次課程設(shè)計自學一下數(shù)據(jù)庫,以及利用 JDBC訪問數(shù)據(jù)庫。這是一個Java Application, 沒有瀏覽器提供的現(xiàn)成的圖形界面可以直接使用,所以需要首先創(chuàng)建自己的圖形界面。 在主界面,首先是完成窗體整體布局,在 java 的 GUI 界面設(shè)計中,布局控制是通過為容器設(shè)置布局管理器來實現(xiàn)的。當容器需要定位 組件和確定組件大小時,就會給布局管理器對象法消息,讓它完成該項工作。在此系統(tǒng)中,用到最多的布局管理器類有BorderLayout(組件按北、南、東、西、中幾個位置排列 )和 GridLayout(以行和列的網(wǎng)絡(luò)形式安排組件 )。菜品的顯示也以單選按鈕的方式顯示在窗體界面中,這樣顧客就可以選擇自己喜歡的菜品,然后點擊確定后就可將數(shù)據(jù)存入數(shù)據(jù)庫中。為了實現(xiàn)在 java 程序中訪問 Access 數(shù)據(jù)庫,需要利用 windows提供的工具創(chuàng)建指向數(shù)據(jù)庫的數(shù)據(jù)源,這樣在程序中通過數(shù)據(jù)源名即可訪問Access中的數(shù)據(jù)庫。完成此項工作的是DriverManager 類,它被稱為驅(qū)動程序管理器,其基本功能是管理 JDBC 驅(qū)動程序。裝載數(shù)據(jù)庫驅(qū)動程序可以采用 Class 類的 forName()方法,當對數(shù)據(jù)庫的操作告一段落時,可通過調(diào)用 Connection 的 close()方法結(jié)束會話,釋放連接的數(shù)據(jù)庫及 JDBC資源。 JDBC 是用于 java 應(yīng)用程序連接數(shù)據(jù)庫的標準方法。 JDBC 使用已有的 SQL 標準并支持其他數(shù)據(jù)庫連接標準, JDBC 實現(xiàn)了所有這些面向標準的、簡單且高性能的接口。開始有主框架類,通過按鈕監(jiān)聽事件調(diào)用別的類,完成功能的實現(xiàn)。 系統(tǒng)主 7 要流程圖如圖 1 所示: 顧 客 進 入 餐廳運 行 點 菜 系統(tǒng)進 入 系 統(tǒng) 退 出 系 統(tǒng)選 擇 桌 號選 擇 菜 品 取 消否確 定 、 結(jié) 賬輸 入 桌 號 確 定 查 看 消 費 退 出 系 統(tǒng)是 圖 1 總體結(jié)構(gòu)框圖 根據(jù)功能需求,本系統(tǒng)包含有 5個類,利用 ACCESS 建立一個表就可以了。 系統(tǒng)的主要功能模塊 首先進入系統(tǒng)初始界面,此界面由一個對話框構(gòu)成,由 public class order implements ActionListener {}完成這個功能。 當點擊進入系統(tǒng)時,系統(tǒng)就進入點菜界面,用戶可以在此窗口中選擇自己喜歡的桌號和喜歡的菜品,要實現(xiàn)這個功能,需要用到的框架類為: public class Menu implements ActionListener, ItemListener {} 這部分的功能實現(xiàn),首先是定義兩個數(shù)組,分別用于存放餐桌號和菜品名單, 8 創(chuàng)建兩個