




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于Java的订餐系统设计与实现客户端详细设计 1.设计分析 顾客模块的主要功能是浏览,订餐。浏览与自己相关的食品信息,订单信息等。用户要下订单之前临时美食车把详细信息列出,物品的单价,购买的数量,总共的价钱,可修改购买,当符合顾客要求的时候,顾客就可以下订单,下订单时首先会先到commitfood.aspx让用户确定一下订单是否付合要求,确认无误后,进入checkout.aspx填写接收信息后生成订单。然后由AddbuyInfo,Addbuyinfo方法对数据库进行操作完成的。 顾客模块详细设计主要涉及到顾客下订单和食品搜索两大功能 顾客可以通过此功能对自己选中的东西下订单,等待服务商送货。
2、 1. 菜品浏览:可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。然后系统打出此次订购的编号 2.订购菜品:用户根据自己的编号可以在该页面定购所需要的菜品 3查看订单:用户根据自己的编号在该页修改已经订购的菜品。 4.修改订单:在该页修改或删除已经订购的菜品。 5.菜品查询:用户根据自己的订购编号可以在该页查找自己需要的菜品。 2.顾客下订单流程图: 通过提供食品搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速的找到自己想要下订的美食。 顾订单确显示购物不购 结束操作登 图1 顾客下单流程图据图删除购提示错验证登陆用i是否正NY确认结NY返订单生提示错YN 3.搜索流程图如图4-3
3、所示: 4.Java swing做登陆界面: 1.容器类 JFrame窗体类 JPanel面板类 JMenuBar菜单类 2.元素类 判txtSe是否为开键FoodSearc索控User_SearchReault页dlSearchBin( 结束提示输 图2 搜索模块程序流程图数据库查匹配成提示未找 JTextField文本输入框类 JPasswordField密码输入框类 JButton按钮类 JCheckBox复选框类 JComboBox下拉列表 JLabel标签类 3.布局类 使用FlowLayout流式布局类 4.Socket API: .Accept方法:产生“阻塞”,直到接受到一个连
4、接,并且返回一个客户端的Socket对象实例。 .getinputStream方法:获得网络连接输入. .getOutputStream方法:连接的另一端将得到输入,同时返回一个OutputStream对象实例。 客户端开发原理:使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开对话;会话结束后,关闭Socket。客户端不需要制定打开的端口,通常临时的、动态的分配一个1024以上的端口。 5.主要代码 1.主界面: setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTit
5、le(顾客-网络订餐系统); 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); ); 顾客界面 订单生成界面: 订单查看界面: 文件操作: 服务器管理员详细设计 1.编写目的 编写此文档的目的是为了让管理员更加便捷的管理软件及用户的信息,方便订餐系统的实现。 2.系统模块详细设计 本系统总共有两大模块,分别是顾客模块,管理员模块。每个模块分别有不同的权限和使用功能。 3.登陆模块的流程图 N Y 1-1登陆流程图 4.管理员模块详细设计 管理员:查看用户订单,查看用户信息,并根据用户信息和用户订单对菜 品进行发派。 管理员可以通过订单
19、管理功能来处理日常的订单。 管理员订单处理程序流程图: 开始 用户名 是否合法 结束 管理员可以通过此功能模块添加想要添加的各种信息,比如订单处理等功能。 管理员登提示错验证登陆用i是否正N绑定数据库信信息绑定无更新数据 结束操作选择具体订显示订订单管理操 图1-2 管理员订单处理程序流程图 通过提供美食搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速的找到自己想要下订的美食。 搜索流程图如图1-4所示: 开始 Session是否为空添加输否为空Class ManagerClass Addadmin() 验证管户是否已存在添加到数据库判断txtSe是否为空开始 键入FoodSearch索控
20、件 User_SearchReault页 dlSearchBind结束数据库查找匹配成功AI结提示登提示输提示重新输 图1-3 管理员添加程序流程图 5.所需要的技术 管理员登陆界面Login界面的设计: Java Swing做登陆界面: 1.容器类 JFrame窗体类 JPanel面板类 JMenuBar菜单类 2.元素类 JTextField文本输入框类 (提示输 图1-4 搜索模块程序流程图提示未找 JPasswordField密码输入框类 JButton按钮类 JCheckBox复选框类 JComboBox下拉列表 JLabel标签类 3、 布局类 使用FlowLayout流式布局类
21、通信使用Socket API .Accept方法 服务器端使用ServerSocket监听指定的端口(大于1024的端口),等待客户连接请求,客户连接后,会产生对话,在完成对话后,关闭连接。 客户端服务器之间连接用Socket 服务器内存管理(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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第四章 第三节 第2课时 交通运输方式的特点和选择(新教学设计)2023-2024学年八年级上册地理(商务星球版)
- 第六单元第1课时 7的乘法口诀(教学设计)二年级数学上册同步高效课堂系列(苏教版)
- 高中信息技术选修3教学设计-2.1.2 域名的管理-教科版
- 装修购销合同标准样书8篇
- 雇英语老师合同
- 2025年中国工业粉碎机市场竞争态势及投资战略规划研究报告
- 2020-2025年中国丙硫菌唑行业市场运营现状及投资规划研究建议报告
- 科技创新中心项目财务可行性分析
- 2020-2025年中国汽车玻璃升降器市场前景预测及投资规划研究报告
- 二零二五年度文化园区经营管理合同
- NB/T 11526-2024煤矿微震监测系统通用技术条件
- 2025年福建长汀金龙稀土有限公司招聘笔试参考题库含答案解析
- 2024年济南护理职业学院高职单招职业技能测验历年参考题库(频考版)含答案解析
- 四川省绵阳市2025届高三第二次诊断性考试英语试题(含答案无听力原文及音频)
- 贵州省贵阳市普通中学2024-2025学年高二上学期期末监测历史试题(含答案)
- 2025年八省适应性 历史试卷(西北卷)
- Python金融数据挖掘与分析实战课程教案教学教案
- 《企业偿债能力存在的问题及优化建议:以S地产公司为例》9500字(论文)
- 2025年上半年水利部长江水利委员会事业单位招聘68人(湖北武汉)重点基础提升(共500题)附带答案详解
- (2024)云南省公务员考试《行测》真题及答案解析
- 地方政府专项发债项目培训课件
评论
0/150
提交评论