版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于Java的訂餐系統(tǒng)設(shè)計與實現(xiàn)客戶端詳細設(shè)計 1.設(shè)計分析 顧客模塊的主要功能是瀏覽,訂餐。瀏覽與自己相關(guān)的食品信息,訂單信息等。用戶要下訂單之前臨時美食車把詳細信息列出,物品的單價,購買的數(shù)量,總共的價錢,可修改購買,當符合顧客要求的時候,顧客就可以下訂單,下訂單時首先會先到commitfood.aspx讓用戶確定一下訂單是否付合要求,確認無誤后,進入checkout.aspx填寫接收信息后生成訂單。然后由AddbuyInfo,Addbuyinfo方法對數(shù)據(jù)庫進行操作完成的。 顧客模塊詳細設(shè)計主要涉及到顧客下訂單和食品搜索兩大功能 顧客可以通過此功能對自己選中的東西下訂單,等待服務(wù)商送貨。
2、 1. 菜品瀏覽:可以分頁瀏覽菜品菜品,并將想要的菜品提交到填寫訂單頁面。然后系統(tǒng)打出此次訂購的編號 2.訂購菜品:用戶根據(jù)自己的編號可以在該頁面定購所需要的菜品 3查看訂單:用戶根據(jù)自己的編號在該頁修改已經(jīng)訂購的菜品。 4.修改訂單:在該頁修改或刪除已經(jīng)訂購的菜品。 5.菜品查詢:用戶根據(jù)自己的訂購編號可以在該頁查找自己需要的菜品。 2.顧客下訂單流程圖: 通過提供食品搜索控件,為顧客提供更為方便快捷的服務(wù)。顧客可以快速的找到自己想要下訂的美食。 顧訂單確顯示購物不購 結(jié)束操作登 圖1 顧客下單流程圖據(jù)圖刪除購提示錯驗證登陸用i是否正NY確認結(jié)NY返訂單生提示錯YN 3.搜索流程圖如圖4-3
3、所示: 4.Java swing做登陸界面: 1.容器類 JFrame窗體類 JPanel面板類 JMenuBar菜單類 2.元素類 判txtSe是否為開鍵FoodSearc索控User_SearchReault頁dlSearchBin( 結(jié)束提示輸 圖2 搜索模塊程序流程圖數(shù)據(jù)庫查匹配成提示未找 JTextField文本輸入框類 JPasswordField密碼輸入框類 JButton按鈕類 JCheckBox復(fù)選框類 JComboBox下拉列表 JLabel標簽類 3.布局類 使用FlowLayout流式布局類 4.Socket API: .Accept方法:產(chǎn)生“阻塞”,直到接受到一個連
4、接,并且返回一個客戶端的Socket對象實例。 .getinputStream方法:獲得網(wǎng)絡(luò)連接輸入. .getOutputStream方法:連接的另一端將得到輸入,同時返回一個OutputStream對象實例。 客戶端開發(fā)原理:使用Socket對網(wǎng)絡(luò)上某一個服務(wù)器的某一個端口發(fā)出連接請求,一旦連接成功,打開對話;會話結(jié)束后,關(guān)閉Socket??蛻舳瞬恍枰贫ù蜷_的端口,通常臨時的、動態(tài)的分配一個1024以上的端口。 5.主要代碼 1.主界面: setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTit
5、le(顧客-網(wǎng)絡(luò)訂餐系統(tǒng)); setBackground(new java.awt.Color(255, 255, 255); nearby.setText(附近小吃); nearby.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) nearbyMouseClicked(evt); ); suggest.setText(今日推薦); suggest.addMouseListener(new java.awt.event.Mouse
6、Adapter() public void mouseClicked(java.awt.event.MouseEvent evt) suggestMouseClicked(evt); ); myorder.setText(我的訂單); myorder.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) myorderMouseClicked(evt); ); myorder.addActionListener(new java.awt
7、.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) myorderActionPerformed(evt); ); all.setText(全部); all.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) allMouseClicked(evt); ); meat.setText(飯類); meat.addMouse
8、Listener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) meatMouseClicked(evt); ); noodle.setText(面類); noodle.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) noodleMouseClicked(evt); ); west.setText(
9、西餐); west.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) westMouseClicked(evt); ); drink.setText(飲料); drink.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) drinkMouseClicked(evt); )
10、; other.setText(其他); other.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) otherMouseClicked(evt); ); controlcenter.setText(個人中心); controlcenter.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event
11、.ActionEvent evt) controlcenterActionPerformed(evt); ); 2.訂單信息 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle(我的訂單); jLabel1.setFont(new java.awt.Font(微軟雅黑, 0, 24); / NOI18N jLabel1.setText(我的訂單); jLabel2.setText(支付狀況:); jLabel3.setText(未支付); jButton1.setText(確認收貨); jB
12、utton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt); ); jButton2.setText(取消); jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) j
13、Button2ActionPerformed(evt); ); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(); jCheckBox1.setText(COCO咖啡); jCheckBox1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jCheckBox1ActionPerformed(evt); ); jCheckBox2.set
14、Text(鐵板牛肉); jCheckBox3.setText(木須肉蓋澆飯); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequent
15、ialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jCheckBox1) .addComponent(jCheckBox2) .addComponent(jCheckBox3) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup
16、( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jCheckBox1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBox2) .addPreferredGap(javax.swing.La
17、youtStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBox3) .addContainerGap(207, Short.MAX_VALUE) ); jButton3.setText(刪除選中); jLabel4.setText(總價:); jTextField1.setEditable(false); jTextField1.setText(48); jTextField1.addActionListener(new java.awt.event.ActionListener() public void actionPerfo
18、rmed(java.awt.event.ActionEvent evt) jTextField1ActionPerformed(evt); ); 顧客界面 訂單生成界面: 訂單查看界面: 文件操作: 服務(wù)器管理員詳細設(shè)計 1.編寫目的 編寫此文檔的目的是為了讓管理員更加便捷的管理軟件及用戶的信息,方便訂餐系統(tǒng)的實現(xiàn)。 2.系統(tǒng)模塊詳細設(shè)計 本系統(tǒng)總共有兩大模塊,分別是顧客模塊,管理員模塊。每個模塊分別有不同的權(quán)限和使用功能。 3.登陸模塊的流程圖 N Y 1-1登陸流程圖 4.管理員模塊詳細設(shè)計 管理員:查看用戶訂單,查看用戶信息,并根據(jù)用戶信息和用戶訂單對菜 品進行發(fā)派。 管理員可以通過訂單
19、管理功能來處理日常的訂單。 管理員訂單處理程序流程圖: 開始 用戶名 是否合法 結(jié)束 管理員可以通過此功能模塊添加想要添加的各種信息,比如訂單處理等功能。 管理員登提示錯驗證登陸用i是否正N綁定數(shù)據(jù)庫信信息綁定無更新數(shù)據(jù) 結(jié)束操作選擇具體訂顯示訂訂單管理操 圖1-2 管理員訂單處理程序流程圖 通過提供美食搜索控件,為顧客提供更為方便快捷的服務(wù)。顧客可以快速的找到自己想要下訂的美食。 搜索流程圖如圖1-4所示: 開始 Session是否為空添加輸否為空Class ManagerClass Addadmin() 驗證管戶是否已存在添加到數(shù)據(jù)庫判斷txtSe是否為空開始 鍵入FoodSearch索控
20、件 User_SearchReault頁 dlSearchBind結(jié)束數(shù)據(jù)庫查找匹配成功AI結(jié)提示登提示輸提示重新輸 圖1-3 管理員添加程序流程圖 5.所需要的技術(shù) 管理員登陸界面Login界面的設(shè)計: Java Swing做登陸界面: 1.容器類 JFrame窗體類 JPanel面板類 JMenuBar菜單類 2.元素類 JTextField文本輸入框類 (提示輸 圖1-4 搜索模塊程序流程圖提示未找 JPasswordField密碼輸入框類 JButton按鈕類 JCheckBox復(fù)選框類 JComboBox下拉列表 JLabel標簽類 3、 布局類 使用FlowLayout流式布局類
21、通信使用Socket API .Accept方法 服務(wù)器端使用ServerSocket監(jiān)聽指定的端口(大于1024的端口),等待客戶連接請求,客戶連接后,會產(chǎn)生對話,在完成對話后,關(guān)閉連接。 客戶端服務(wù)器之間連接用Socket 服務(wù)器內(nèi)存管理(dll) controlcenter.java indexJFrame.java indexmanage.java icon.java 6.主要代碼: 1.登錄界面 jButton2.setText(登錄); jButton2.addActionListener(new java.awt.event.ActionListener() public voi
22、d actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt); 項目名Check check.java login.javamanage.javaacounting.javamyorder.java ); 2.管理界面 jPasswordField1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jPasswordFie
23、ld1ActionPerformed(evt); ); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle(店鋪信息); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1La
24、yout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 95, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 110, Short.MAX_VALUE) ); scream.setAutoscro
25、lls(true); javax.swing.GroupLayout screamLayout = new javax.swing.GroupLayout(scream); scream.setLayout(screamLayout); screamLayout.setHorizontalGroup( screamLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 612, Short.MAX_VALUE) ); screamLayout.setVerticalGroup( screa
26、mLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 289, Short.MAX_VALUE) ); other.setText(其他); other.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) otherMouseClicked(evt); ); drink.setText(飲料); drink.addMouseL
27、istener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) drinkMouseClicked(evt); ); noodle.setText(面類); noodle.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) noodleMouseClicked(evt); ); west.setText(西餐); west.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021年江西省南昌市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年江西省贛州市公開招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2024年醫(yī)學(xué)實驗室項目資金籌措計劃書代可行性研究報告
- 2024拍賣師行業(yè)動態(tài)監(jiān)測與勞動合同附加3篇
- 2023-2024年移動裝維工技能理論考試題庫及答案
- 2023-2024年心理咨詢師之心理咨詢師基礎(chǔ)知識模擬考試A卷(含答案)
- 2023-2024江蘇省淮安市蘇教版六年級上冊期末測試數(shù)學(xué)試卷(解析版)
- 2024年鋼筋施工班組責(zé)任協(xié)議樣本版B版
- 2022-2024年三年高考1年模擬英語試題分類:書面表達(解析版)
- 2024版存量房居間合同
- 鄧州市龍理鄉(xiāng)第一初級中學(xué)-2025年春節(jié)寒假跨學(xué)科主題實踐作業(yè)模板【課件】
- 2024年中央經(jīng)濟工作會議精神解讀
- 2023-2024學(xué)年廣東省深圳市福田區(qū)八年級(上)期末歷史試卷
- 公司安全事故隱患內(nèi)部舉報、報告獎勵制度
- 歷史常識單選題100道及答案解析
- 2024年陜西榆林市神木市公共服務(wù)輔助人員招聘775人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 福建省泉州市2023-2024學(xué)年高一上學(xué)期期末質(zhì)檢英語試題(解析版)
- GA 2139-2024警用防暴臂盾
- 2024年首都機場集團招聘筆試參考題庫附帶答案詳解
- 建筑制圖學(xué)習(xí)基礎(chǔ)實訓(xùn)報告
- 懷化職業(yè)技術(shù)學(xué)院就業(yè)工作管理制度匯編 (一)
評論
0/150
提交評論