精华内容
下载资源
问答
  • 小型餐饮管理系统的设计与实现(,MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文14000字,程序代码,MySQL数据库)随着餐饮业的迅速发展,依靠人工管理日常运作的传统餐饮企业渐渐显露疲态,计算机进入...

    小型餐饮管理系统的设计与实现(,MySQL)(任务书,开题报告,中期检查表,文献综述,外文翻译,毕业论文14000字,程序代码,MySQL数据库)

    随着餐饮业的迅速发展,依靠人工管理日常运作的传统餐饮企业渐渐显露疲态,计算机进入餐饮企业逐渐成为一种趋势。利用计算机管理管理系统对饭店的各种信息进行管理,就可以使杂乱的业务数据具体化、直观化、合理化、并且随时了解饭店的经营情况。

    基于JSP及MySQL数据库技术设计并实现了一个小型餐饮管理系统,包括账户管理、订单管理、菜单管理、员工管理、原料管理等几大模块,涵盖了餐饮企业的营业、查询、统计、分析、库存、人事等各方面的业务需求,能够满足餐饮企业信息化管理的基本需求。

    论文首先介绍了项目的开发背景,然后介绍了项目的分析与设计以及数据库的设计,最后介绍了项目的实现以及用图形界面展现出来,最终对项目及论文做了一个简短的总结。

    2.3模块功能划分

    为了满足餐饮系统在现实中的应用需求和餐饮行业的需要,餐饮管理系统通常需要实现用户管理、员工管理、菜单管理、订单管理和仓库管理等功能。

    2.3.1用户管理

    用户管理主要管理添加用户、查看用户列表、修改用户姓名、分配用户角色、删除用户以及用户可以自己修改密码等功能,为系统安全提供保障。

    2.3.2员工管理

    员工管理主要管理添加员工、员工列表、修改员工信息、删除员工、对员工进行奖励和处罚、管理员工薪资列表以及导出员工薪资到Excel文件等等。

    2.3.3菜单管理

    菜单管理主要管理餐厅的菜单种类以及每种下的各种具体的菜品。可以添加菜单、修改菜单、查看菜单以及删除菜单。

    2.3.4订单管理

    订单管理主要管理顾客的订单,下单以及清算等功能。可以创建定单、查看定单、修改定单以及对订单进行结算等功能。

    2.3.5仓库管理

    仓库管理主要管理每天的进出货物,为餐厅提供后勤保障。可以添加原料、修改原料以及删除原料等操作。

    2.4用户权限设计

    (1)管理员权限

    添加用户、查看用户、修改用户以及修改用户密码。

    创建订单、查看订单、修改订单以及删除订单。

    添加菜单、查看菜单、修改菜单以及删除菜单。

    添加员工、查看员工、修改员工、删除员工、修改员工奖金、修改员工罚款、查看员工工资以及导出员工工资清单。

    添加原料、查看原料、修改原料以及删除原料。

    (2)经理权限

    修改用户密码。

    创建订单、查看订单、修改订单以及删除订单。

    添加菜单、查看菜单、修改菜单以及删除菜单。

    添加员工、查看员工、修改员工、删除员工、修改员工奖金、修改员工罚款、查看员工工资以及导出员工工资清单。

    添加原料、查看原料、修改原料以及删除原料。

    (3)普通员工权限

    修改用户密码。

    创建订单。

    查看菜单、修改菜单以及删除菜单。

    ccb86e5918a390170e3fa666ff85cb9d.png

    decf18b1e3d2b2056f8acd2311278dea.png

    d95a4242e9024f121b231b29ea72f5dc.png

    fa9d603e10cc60ce9aebc3375e7a7b6f.png

    761debb89d85013f9143870d5d43eed6.png

    4bbf1154f1d5653abcc841dfcaa22545.png

    16d223f36ec8ce4faa725c2493f95227.png

    caa798f9be4a1889d51e2982233eede5.png

    fd7741c023f1a538b05441d0e7195aa9.png

    968104b3df09e8e9e845cd7390f29e6e.png

    目  录

    摘    要    I

    Abstract    II

    1绪论    1

    1.1引言    1

    1.2项目背景    1

    1.3国内餐饮系统发展现状    2

    1.4项目开发特色    3

    1.5工作难度    3

    2系统设计    4

    2.1系统架构    4

    2.2逻辑模型    4

    2.3模块功能划分    5

    2.3.1用户管理    5

    2.3.2员工管理    5

    2.3.3菜单管理    6

    2.3.4订单管理    6

    2.3.5仓库管理    6

    2.4用户权限设计    6

    2.5相关技术    7

    3数据库设计    12

    3.1数据库概念结构设计    12

    3.2数据库逻辑结构设计    15

    4系统实现    21

    4.1登录界面    21

    4.2用户管理模块    22

    4.3订单管理模块    24

    4.4菜单管理模块    27

    4.5员工管理模块    28

    4.6原料管理模块    30

    结束语    32

    致    谢    33

    参考文献    34

    展开全文
  • 基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的餐厅管理系统, 该项目可用各类java课程设计大作业中, 餐厅管理系统的系统架构分为前后台两部分, 最终实现在线上进行餐厅管理系统各项功能,实现了诸如用户管理, ...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的餐厅管理系统, 该项目可用各类java课程设计大作业中, 餐厅管理系统的系统架构分为前后台两部分, 最终实现在线上进行餐厅管理系统各项功能,实现了诸如用户管理, 登录注册, 权限管理等功能, 并实现对各类餐厅管理系统相关的实体进行管理。

    该餐厅管理系统为一个采用mvc设计模式进行开发B/S架构项目,并采用分层架构对项目进行架构, 分为pojo+action+service, 其中pojo表明该系统的各类数据库表对应的实体, 在对餐厅管理系统进行详细的需求分析后与数据库设计后, 设计实现了如下模块, 即登录模块,权限管理模块, 用户管理模块,餐厅管理系统信息管理模块等。并通过java抽象类对其实现

    开发环境

    java环境: Jdk1.8

    Ide: Eclipse EE或者jetbrains Idea

    数据库: mysql5.6以上

    依赖框架:javascript, css, jsp, servlet, filter

    系统需求分析与流程图

    一般而言, 此类的javaweb课程设计大作业都比较简单, 主要目的在于掌握基础的web开发知识, 所以在实现该餐厅管理系统的课程设计的时候, 需要首先收集其他的餐厅管理系统产品分析, 主要精力用于完成数据库表的设计, 以及基于mvc模式进行代码编写, 页面可以简单的利用bootstrap进行搭建, 进而完成餐厅管理系统各个模块的开发

    数据库课程设计

    数据库设计是整个餐厅管理系统系统能否正常运转的核心, 合理的数据库设计直接影响到餐厅管理系统是否能够正常运行, 本系统采用mysql数据库作为数据存储, 引擎采用innoddb

    系统演示视频

    运行截图

    d01198a72ae1fbc0b17d99c5eb17e7cb.png

    基于jsp的餐厅管理系统-登陆功能界面

    52fed4491d1c1095339bb43ab7c439c3.png

    基于jsp的餐厅管理系统-前台首页

    3699178753e3196ffa77ff46e8d64b10.png

    基于jsp的餐厅管理系统-后台信息管理页面

    4cd3e006d293d227371286cf6385166c.png

    餐厅管理系统系统架构图

    475921b56145d840400a7d4741aac589.png

    注意事项

    该基于jsp的餐厅管理系统项目自带源码, 论文, sql数据库, 答辩ppt, 中期检查报告

    项目首页登陆地址 https://localhost:8080/login.jsp

    项目后台陆地址 https://localhost:8080/admin/login.jsp

    测试用户 cswork 密码 123456

    测试管理员 admin 密码 admin

    功能列表

    餐厅管理系统系统登陆模块, 实现餐厅管理系统系统的登陆注册权限角色用户的增删改查

    餐厅管理系统用户管理模块, 实现餐厅管理系统系统的信息管理与增删改查

    前台信息管理模块, 面向普通用户, 实现普通用户对餐厅管理系统的录入 修改 删除 自定义查询

    超级管理员管理, 实现后台管理员对餐厅管理系统系统的各个模块管理功能, 各个子模块高内聚低耦合

    展开全文
  • java餐厅管理系统

    2018-04-17 22:46:44
    系统采用客户端与服务器,利用网络编程进行多线程连接,分为高级管理员与管理员,可以分别进行不同的功能, 高级管理员具有餐品管理、用户管理、员工管理、今日账单统计、导入Excel到数据库。。注意: excel 必须...
  • 餐厅管理系统(java-web项目),源代码可运行
  • 是用于餐厅的收银管理系统,包含了四个模块1.桌位模块桌位模块主要是用于管理桌位的模块,包括点菜到结账的流程将桌位人数设置为0可以滞空当前桌位2.账单模块账单模块记录了每一天的帐单汇总,同时提供了年月日账单...

    是用于餐厅的收银管理系统,包含了四个模块

    1.桌位模块

    桌位模块主要是用于管理桌位的模块,包括点菜到结账的流程将桌位人数设置为0可以滞空当前桌位

    2.账单模块

    账单模块记录了每一天的帐单汇总,同时提供了年月日账单的统计,在日账单内可以查看当日的所有消费详情,还提供了按日期或日期区间搜索账单的功能

    3.日常维护模块

    提供了桌位菜单用户供应商的配置功能,也就是增删改查& 添加菜品时,添加酒水类时,可以选择进货内的酒水,这样的话在结账后若客人点了该酒水,会将销售信息记录在酒水库存内的销售信息里

    4.酒水库存模块

    查看添加酒水的进销存信息

    使用方法

    1.将EmptyRCMS.sql文件导入数据库生成数据库(这里我使用的是MySQL数据库)2.在电脑内下载redis并注册成服务自动启动3.更改resources内database.properties数据库配置文件的账号密码为自己的数据库账号密码4.更改redis-context.xml配置文件,如果redis没有设置密码则把p:password=”${redis.password}”&这个属性删除,否则在redis.properties配置文件内把密码更改成自己的密码注意:在导入项目后resources文件夹可能不是源文件夹,需要将其标记为源文件夹;redis需要实现数据持久化,因为未买单的桌位的点菜信息全部存储在redis内,若没有实现redis的数据持久化会导致电脑关机后未买单的桌位点菜信息全部丢失

    部分效果图

    说明:

    1、不懂用技术的,请勿下单,否则不退款,以此为证,以免耽误大家时间,有由时间有限,不会向培训师一样,慢慢教怎么使用技术。

    2、本源码不提供安装服务,介意请勿下单是给有技术能力的学习参考。

    3、如需安装服务请单独下单,“java 程序部署到服务器”服务

    https://www..com/serve/goods4860.html

    温馨提示:

    1、由于源码商品属于可复制性产品,发货后禁止买家以各种理由退款!

    2、本店源码均由店主亲测后发布,不得以存在BUG为理由退款!

    3、本店不参与源码修改和功能维护!

    4、本店所有源码严禁用于非法用途,若用于非法用途所造成的后果本店概不负责!

    5、需要安装服务,有一定时间工作量,请独立购买安装部署服务,本源码不提供安装服务,请不要在本源码中购买安装服务,谢谢配合!

    6、若您购买本商品,将视为您已同意以上5点!

    亲测没问题。

    买家须知

    源码属于特殊商品,不退不换。

    展开全文
  • Java大作业之餐厅管理系统

    千次阅读 多人点赞 2020-02-24 14:47:15
    餐厅管理系统 通过构思将界面分为五个部分,分别是北部的餐厅名称、西部的菜式导航、中部的菜式选择、南部的操作按钮、和东部的菜单显示。食堂订餐系统解决了现实中存在的订餐问题,可以自由订退餐,实时扣款,解决...

    餐厅管理系统

    通过构思将界面分为五个部分,分别是北部的餐厅名称、西部的菜式导航、中部的菜式选择、南部的操作按钮、和东部的菜单显示。食堂订餐系统解决了现实中存在的订餐问题,可以自由订退餐,实时扣款,解决用餐排队问题,减少人力成本。

    开发环境:

    JDK-11.0.2_windows-x64_bin

    开发工具:

    Eclipse

    使用界面:

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    使用说明:

    登录账号密码都为:123;

    修改登录账号密码在第一部分代码找到登录时比较字符串修改即可;

    图片保存在本地所以会找不到图片,可以在餐厅管理系统下创建文件夹,放入你下载的图片,然后在第二部分代码找到对应类型的菜单中输入文件路径并修改菜名。

    package 餐厅管理系统;
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    
    public class Land {
    	private JFrame jf;
    	
    	private JPanel jp1;
    	private JPanel jp2;
    	private JPanel jp3;
    	private JPanel jp4;
    	
    	private JTextField jtf1;
    	private JPasswordField jpf1;
    	
    	private JLabel jl1;
    	private JLabel jl2;
    	
    	private JButton jb1;
    	private JButton jb2;
    	
    	public void init() {
    	jf = new JFrame("登陆");
    	
    	jp1 = new JPanel();
    	jp2 = new JPanel();
    	jp3 = new JPanel();
    	jp4 = new JPanel();
    	
    	jtf1 = new JTextField(15);
    	jpf1 = new JPasswordField (15);
    	jpf1.setEchoChar('*');
    	
    	jl1 = new JLabel("用户");
    	jl2 = new JLabel("密码");
    	
    	jb1 = new JButton("登陆");
    	jb2 = new JButton("重置");
    	
    	jf.setLayout(new GridLayout(3,1));
    	jf.add(jp2);
    	jf.add(jp3);
    	jf.add(jp4);
    	
    	jp2.add(jl1);
    	jp2.add(jtf1);
    	
    	jp3.add(jl2);
    	jp3.add(jpf1);
    	
    	jp4.add(jb1);
    	jp4.add(jb2);
    	
    	jb1.addActionListener(new ButtonListener());
    	jb2.addActionListener(new ButtonListener());
    	
    	jf.pack();
    	jf.setLocation(400, 300);
    	jf.setLocationRelativeTo(null);
    	jf.setVisible(true);
    	jf.setAlwaysOnTop(false);
    	
    	}
    	
    private class ButtonListener implements ActionListener {
    	public void actionPerformed(ActionEvent event) {
    	String command = event.getActionCommand();
    		if("登陆".equals(command) && jtf1.getText().equals("123") && jpf1.getText().equals("123")) {
    				new System().init(jtf1.getText());
    				jf.setVisible(false);
    			}
    		else if("登陆".equals(command) && jtf1.getText().equals("") && jpf1.getText().equals("")) {				
    				JOptionPane.showMessageDialog(null,"请输入用户名和密码","提示",1);				
    			}
    		else if("重置".equals(command)) {
    				jtf1.setText("");
    				jpf1.setText("");
    			}
    		else {
    				JOptionPane.showMessageDialog(null,"用户名或密码错误!","错误 ",0);
    				jtf1.setText("");
    				jpf1.setText("");
    			}
    		}
    	}
    
    public static void showMessageDialog(Component parentComponent,Object message,String title,int messageType,Icon icon) {	
    }
    
    public static void main(String[] args) {
    		new Land().init();
    	}
    }	
    
    
    package 餐厅管理系统;
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    import java.util.ArrayList;
    import java.util.Vector;
    import java.util.Calendar;
    import java.util.Date;
    import java.io.*;
    import java.text.SimpleDateFormat;
    //事件处理包
    import java.awt.event.*;
    
    public class System implements ActionListener{
    	
    //北部区域
    	JMenuBar jm1=new JMenuBar();
        private JLabel jl1;
    
    //南部区域
        private JButton jb1, jb2, jb3, jb4 , jb5;
        private JPanel jp1;
        
    //西部区域
        private JTabbedPane jtp2;
        private JPanel jp8;
        private JButton jb6, jb7, jb8, jb9, jb10, jb11;
        
    //东部区域   
        private JPanel jp9;
        private JComboBox jcb11;
        private JLabel jl20, jl21, jl22;
        private JTextField jtf2;
        private JTable jt;
        private JScrollPane jsp;
        
        String[] jg = { "桌1", "桌2", "桌3", "桌4", "桌5", "桌6" };
        private DefaultTableModel model;
        private Vector data;
        private Vector names;
        
    //中部区域
        private JTabbedPane jtp;// 选项卡窗格
        private ImageIcon img;
        private JPanel jp2, jp3, jp4, jp5, jp6, jp7;    
    
        private JLabel jl2, jl3, jl4, jl5, jl6, jl7, jl8, jl9, jl10, jl11, jl12, jl13, jl14, jl15, jl16, jl17, jl18, jl19;
        
        private JCheckBox jcb1, jcb2, jcb3, jcb4, jcb5, jcb6, jcb7, jcb8, jcb9;
    //判断
        boolean B = true;
    //文件输出
        BufferedWriter out;
    //主框架
        JFrame jf;
    public void init(String username){
    //北部区域
    	    jl1 = new JLabel("*****XX餐厅欢迎您*****",JLabel.CENTER);
    	    jl1.setOpaque(true);//设置背景颜色必须先将它设置为不透明的,因为默认是透明的。
    	    jl1.setBackground(Color.pink);
    	    Font f = new Font("楷体",Font.PLAIN,45); 
    	    jl1.setFont(f);
    	    jl1.setForeground(Color.BLUE);
    	    
    	    JMenu menu1=new JMenu("系统设置");	
            jm1.add(menu1);
    	    
            JMenu menu2=new JMenu("餐厅名称字体");      
            JMenu menu3=new JMenu("餐厅名称颜色");	        
            JMenuItem item9=new JMenuItem("退出登录");	       	             
            menu1.add(menu2);
            menu1.add(menu3);
            menu1.addSeparator();
            menu1.add(item9);
    //设置监听退出登录
            item9.addActionListener(new ActionListener() {	            
                @Override
                public void actionPerformed( ActionEvent e) {
                    int i=JOptionPane.showConfirmDialog(null, "是否真的退出登录",
                            "退出登录",JOptionPane.YES_NO_OPTION);       
                    if(i == JOptionPane.YES_OPTION) {                     	                
                    	jf.setVisible(false);
                    	new Land().init();
                    }
                }
            });
    //菜单栏设置标题字体
            JMenuItem item1=new JMenuItem("楷体");	                
            JMenuItem item2=new JMenuItem("宋体");	                
            JMenuItem item3=new JMenuItem("黑体");	                	        
            JMenuItem item4=new JMenuItem("正文");
            menu2.add(item1);
            menu2.add(item2);
            menu2.add(item3);	       
            menu2.add(item4);
            
            item1.addActionListener(new ActionListener() {       	
            	public void actionPerformed( ActionEvent e) {
            		Font f = new Font("楷体",Font.PLAIN,45);
            		jl1.setFont(f);
                    }           
            });
            item2.addActionListener(new ActionListener() {       	
            	public void actionPerformed( ActionEvent e) {
            		Font f = new Font("宋体",Font.PLAIN,45);
            		jl1.setFont(f);
                    }           
            });
            item3.addActionListener(new ActionListener() {        	
            	public void actionPerformed( ActionEvent e) {
            		Font f = new Font("黑体",Font.PLAIN,45);
            		jl1.setFont(f);
                    }           
            });
            item4.addActionListener(new ActionListener() {        	
            	public void actionPerformed( ActionEvent e) {
            		Font f = new Font("正文",Font.PLAIN,45);
            		jl1.setFont(f);
                    }           
            });
    //菜单栏设置标题颜色                      
            JMenuItem item5=new JMenuItem("蓝色");	                
            JMenuItem item6=new JMenuItem("红色");	                	        
            JMenuItem item7=new JMenuItem("黑色");	            
            JMenuItem item8=new JMenuItem("绿色");
            menu3.add(item5);
            menu3.add(item6);
            menu3.add(item7);	       
            menu3.add(item8);
            
            item5.addActionListener(new ActionListener() {       	
            	public void actionPerformed( ActionEvent e) {
            		jl1.setForeground(Color.BLUE);
                    }           
            });
            item6.addActionListener(new ActionListener() {        	
            	public void actionPerformed( ActionEvent e) {
            		jl1.setForeground(Color.RED);
                    }           
            });
            item7.addActionListener(new ActionListener() {        	
            	public void actionPerformed( ActionEvent e) {
            		jl1.setForeground(Color.BLACK);
                    }           
            });
            item8.addActionListener(new ActionListener() {       	
            	public void actionPerformed( ActionEvent e) {
            		jl1.setForeground(Color.green);
                    }           
            });
            
    //南部区域
    	    jp1 = new JPanel();
    	    jb1 = new JButton("取消");
    	    jb2 = new JButton("下单");
    	    jb3 = new JButton("加单");
    	    jb4 = new JButton("结账");
    
    //西部区域
    	    jtp2 = new JTabbedPane();
    	    jp8 = new JPanel();    	    
    	    jb6 = new JButton("热销菜式");
    	    jb7 = new JButton("小炒类");	    
    	    jb8 = new JButton("蔬菜类");	    
    	    jb9 = new JButton("主食类");	    
    	    jb10 = new JButton("甜品类");	
    	    jb11 = new JButton("饮品类");
    	    	    	    
    //东部区域
    	    jp9 = new JPanel();
    	    jl20 = new JLabel("请选择桌号:");	    
    	    jcb11 = new JComboBox(jg);
    	    jl21 = new JLabel("请输入用餐人数:");
    	    jtf2 = new JTextField();
    	    jl22 = new JLabel("已点菜式列表:");	
    	    
    	    model = new DefaultTableModel(); // 新建一个默认数据模型
    	    data = new Vector(); // 数据行向量集,因为列表不止一行,往里面添加数据行向量,添加方法add(row)
    	    names = new Vector();// 列名向量,使用它的add()方法添加列名
    	    names.add("菜名");	
    	    names.add("价格(元)");    
    	    model.setDataVector(data,names); // 设置模型中的元素,它会自动显示在列表中
    	    jt = new JTable(model); // 用数据模型创建JTable,JTable会自动监听到数据模型中的数据改变并显示出来
    	    jsp = new JScrollPane(jt); // 用列表创建可滚动的Panel,把这个Panel添加到窗口中	   	  
    	    
    //中部区域
    	    jtp = new JTabbedPane();
    	    
    	    img=new ImageIcon("主食类//红烧肉.jpg");//创建一个图标       
            jl2 = new JLabel(img);      
            img=new ImageIcon("主食类//红烧猪蹄.jpg");          
            jl3 = new JLabel(img);
            img=new ImageIcon("主食类//家常炒面.jpg");          
            jl4 = new JLabel(img);
            img=new ImageIcon("小炒类//家常小炒.jpg");           
            jl5 = new JLabel(img);
            img=new ImageIcon("小炒类//木须肉.jpg");          
            jl6 = new JLabel(img);
            img=new ImageIcon("小炒类//小炒圆白菜.jpg");          
            jl7 = new JLabel(img);
            img=new ImageIcon("蔬菜类//苦瓜炒蛋.jpg");           
            jl8 = new JLabel(img);
            img=new ImageIcon("蔬菜类//炒四季豆.jpg");          
            jl9 = new JLabel(img);
            img=new ImageIcon("蔬菜类//凉拌土豆丝.jpg");          
            jl10 = new JLabel(img);
            
            jl11 = new JLabel("39",JLabel.CENTER);
            jl12 = new JLabel("39",JLabel.CENTER);
            jl13 = new JLabel("39",JLabel.CENTER);
            jl14 = new JLabel("28",JLabel.CENTER);
            jl15 = new JLabel("28",JLabel.CENTER);
            jl16 = new JLabel("28",JLabel.CENTER);
            jl17 = new JLabel("18",JLabel.CENTER);
            jl18 = new JLabel("18",JLabel.CENTER);
            jl19 = new JLabel("18",JLabel.CENTER);
            
            jcb1 = new JCheckBox("红烧肉");
    	    jcb2 = new JCheckBox("红烧猪蹄");
    	    jcb3 = new JCheckBox("家常炒面");
    	    jcb4 = new JCheckBox("家常小炒");
    	    jcb5 = new JCheckBox("木须肉");
    	    jcb6 = new JCheckBox("小炒圆白菜");
    	    jcb7 = new JCheckBox("苦瓜炒蛋");
    	    jcb8 = new JCheckBox("炒四季豆");
    	    jcb9 = new JCheckBox("凉拌土豆丝");
    	    
    	    jp2 = new JPanel();	            
    	    jp3 = new JPanel();	   
    	    jp4 = new JPanel();	    
    	    jp5 = new JPanel();
    	    jp6 = new JPanel();
    	    jp7 = new JPanel();
    
    //将面板添加到选项卡窗格上
    	    jtp.add("热销菜式", jp2);
    	    jtp.add("小炒类", jp3);
    	    jtp.add("蔬菜类", jp4);
    	    jtp.add("主食类", jp5);
    	    jtp.add("甜品类", jp6);
    	    jtp.add("饮品类", jp7);
    
    	    jtp2.add("菜式导航", jp8);
    	    
    //设置布局	   	    
    	    jp2.setLayout(new GridLayout(9,3));
    	    jp3.setLayout(new GridLayout(9,3));
    	    jp4.setLayout(new GridLayout(9,3));
    	    jp5.setLayout(new GridLayout(9,3));
    	    jp6.setLayout(new GridLayout(9,3));
    	    jp7.setLayout(new GridLayout(9,3));
    	    jp8.setLayout(new GridLayout(15,1));
    	    jp9.setLayout(new GridLayout(6,1));	
    	    
    	    jp9.setPreferredSize(new Dimension(250, 0));   	     
    
    //指定action 命令 
    	    jb1.addActionListener(this);
    	    jb1.setActionCommand("取消");
    	    jb2.addActionListener(this);
    	    jb2.setActionCommand("下单");
    	    jb3.addActionListener(this);
    	    jb3.setActionCommand("加单");
    	    jb4.addActionListener(this);
    	    jb4.setActionCommand("结账");	   
    	    jb6.addActionListener(this);
    	    jb6.setActionCommand("热销菜式");
    	    jb7.addActionListener(this);
    	    jb7.setActionCommand("小炒类");
    	    jb8.addActionListener(this);
    	    jb8.setActionCommand("蔬菜类");
    	    jb9.addActionListener(this);
    	    jb9.setActionCommand("主食类");
    	    jb10.addActionListener(this);
    	    jb10.setActionCommand("甜品类");
    	    jb11.addActionListener(this);
    	    jb11.setActionCommand("饮品类");
    	    
    //添加组件
    	    jp1.add(jb1);
    	    jp1.add(jb2);
    	    jp1.add(jb3);
    	    jp1.add(jb4);
    
    	    jp2.add(jl2);
    	    jp2.add(jl3);
    	    jp2.add(jl4);
    	    jp2.add(jl11);
    	    jp2.add(jl12);
    	    jp2.add(jl13);	    
    	    jp2.add(jcb1);	   
    	    jp2.add(jcb2);	    
    	    jp2.add(jcb3);	    
    	    jp2.add(jl5);
    	    jp2.add(jl6);
    	    jp2.add(jl7);
    	    jp2.add(jl14);
    	    jp2.add(jl15);
    	    jp2.add(jl16);
    	    jp2.add(jcb4);				
    	    jp2.add(jcb5);		
    	    jp2.add(jcb6);
    	    jp2.add(jl8);
    	    jp2.add(jl9);
    	    jp2.add(jl10);
    	    jp2.add(jl17);
    	    jp2.add(jl18);
    	    jp2.add(jl19);
    	    jp2.add(jcb7);				
    	    jp2.add(jcb8);		
    	    jp2.add(jcb9);
    	    	    
    	 	jp8.add(jb6);
    	    jp8.add(jb7);
    	    jp8.add(jb8);
    	    jp8.add(jb9);
    	    jp8.add(jb10);
    	    jp8.add(jb11);
    	    
    	    jp9.add(jl20);
    	    jp9.add(jcb11);
    	    jp9.add(jl21);
    	    jp9.add(jtf2);
    	    jp9.add(jl22);
    	    jp9.add(jsp);
    	    
    //续中部区域
    //小炒类
    	    img=new ImageIcon("小炒类//豆角炒腊肉.jpg");      
            jl2 = new JLabel(img);      
            img=new ImageIcon("小炒类//家常小炒.jpg");          
            jl3 = new JLabel(img);
            img=new ImageIcon("小炒类//木须肉.jpg");          
            jl4 = new JLabel(img);
    	    img=new ImageIcon("小炒类//农家小炒肉.jpg");           
            jl5 = new JLabel(img);
            img=new ImageIcon("小炒类//四季豆小炒肉.jpg");          
            jl6 = new JLabel(img);
            img=new ImageIcon("小炒类//小炒牛肉.jpg");          
            jl7 = new JLabel(img);
            img=new ImageIcon("小炒类//小炒香菇黄瓜条.jpg");           
            jl8 = new JLabel(img);
            img=new ImageIcon("小炒类//小炒圆白菜.jpg");          
            jl9 = new JLabel(img);
            img=new ImageIcon();          
            jl10 = new JLabel(img);        
            
            jl11 = new JLabel("28",JLabel.CENTER);
            jl12 = new JLabel("28",JLabel.CENTER);
            jl13 = new JLabel("28",JLabel.CENTER);
            jl14 = new JLabel("28",JLabel.CENTER);
            jl15 = new JLabel("28",JLabel.CENTER);
            jl16 = new JLabel("28",JLabel.CENTER);
            jl17 = new JLabel("28",JLabel.CENTER);
            jl18 = new JLabel("28",JLabel.CENTER);
            jl19 = new JLabel("",JLabel.CENTER);
            
            jcb1 = new JCheckBox("豆角炒腊肉");
    	    jcb2 = new JCheckBox("家常小炒");
    	    jcb3 = new JCheckBox("木须肉");
    	    jcb4 = new JCheckBox("农家小炒肉");
    	    jcb5 = new JCheckBox("四季豆小炒肉");
    	    jcb6 = new JCheckBox("小炒牛肉");
    	    jcb7 = new JCheckBox("小炒香菇黄瓜条");
    	    jcb8 = new JCheckBox("小炒圆白菜");	    	    
    	    
    	    jp3.add(jl2);
    	    jp3.add(jl3);
    	    jp3.add(jl4);
    	    jp3.add(jl11);
    	    jp3.add(jl12);
    	    jp3.add(jl13);
    	    jp3.add(jcb1);				
    	    jp3.add(jcb2);		
    	    jp3.add(jcb3);
    	    jp3.add(jl5);
    	    jp3.add(jl6);
    	    jp3.add(jl7);
    	    jp3.add(jl14);
    	    jp3.add(jl15);
    	    jp3.add(jl16);
    	    jp3.add(jcb4);				
    	    jp3.add(jcb5);		
    	    jp3.add(jcb6);
    	    jp3.add(jl8);	    
    	    jp3.add(jl9);
    	    jp3.add(jl10);
    	    jp3.add(jl17);
    	    jp3.add(jl18);
    	    jp3.add(jl19);
    	    jp3.add(jcb7);				
    	    jp3.add(jcb8);
    //蔬菜类
    	    img=new ImageIcon("蔬菜类//炒四季豆.jpg");      
            jl2 = new JLabel(img);      
            img=new ImageIcon("蔬菜类//苦瓜炒蛋.jpg");          
            jl3 = new JLabel(img);
            img=new ImageIcon("蔬菜类//凉拌土豆丝.jpg");          
            jl4 = new JLabel(img);
    	    img=new ImageIcon("蔬菜类//茄子肉末.jpg");           
            jl5 = new JLabel(img);
            img=new ImageIcon("蔬菜类//豌豆炒鸡米.jpg");          
            jl6 = new JLabel(img);
            img=new ImageIcon("蔬菜类//虾酱荷兰豆.jpg");          
            jl7 = new JLabel(img);
            img=new ImageIcon("蔬菜类//腰果玉米.jpg");           
            jl8 = new JLabel(img);
            img=new ImageIcon();          
            jl9 = new JLabel(img);
            img=new ImageIcon();          
            jl10 = new JLabel(img);        
            
            jl11 = new JLabel("18",JLabel.CENTER);
            jl12 = new JLabel("18",JLabel.CENTER);
            jl13 = new JLabel("18",JLabel.CENTER);
            jl14 = new JLabel("18",JLabel.CENTER);
            jl15 = new JLabel("18",JLabel.CENTER);
            jl16 = new JLabel("18",JLabel.CENTER);
            jl17 = new JLabel("18",JLabel.CENTER);
            jl18 = new JLabel("",JLabel.CENTER);
            jl19 = new JLabel("",JLabel.CENTER);       
            
            jcb1 = new JCheckBox("炒四季豆");
    	    jcb2 = new JCheckBox("苦瓜炒蛋");
    	    jcb3 = new JCheckBox("凉拌土豆丝");
    	    jcb4 = new JCheckBox("茄子肉末");
    	    jcb5 = new JCheckBox("豌豆炒鸡米");
    	    jcb6 = new JCheckBox("虾酱荷兰豆");
    	    jcb7 = new JCheckBox("腰果玉米");	    	    	    
    	    
    	    jp4.add(jl2);
    	    jp4.add(jl3);
    	    jp4.add(jl4);
    	    jp4.add(jl11);
    	    jp4.add(jl12);
    	    jp4.add(jl13);
    	    jp4.add(jcb1);				
    	    jp4.add(jcb2);		
    	    jp4.add(jcb3);
    	    jp4.add(jl5);
    	    jp4.add(jl6);
    	    jp4.add(jl7);
    	    jp4.add(jl14);
    	    jp4.add(jl15);
    	    jp4.add(jl16);
    	    jp4.add(jcb4);				
    	    jp4.add(jcb5);		
    	    jp4.add(jcb6);
    	    jp4.add(jl8);	    
    	    jp4.add(jl9);
    	    jp4.add(jl10);
    	    jp4.add(jl17);
    	    jp4.add(jl18);
    	    jp4.add(jl19);
    	    jp4.add(jcb7);				
    //主食类
    	    img=new ImageIcon("主食类//红烧肉.jpg");      
            jl2 = new JLabel(img);      
            img=new ImageIcon("主食类//红烧猪蹄.jpg");          
            jl3 = new JLabel(img);
            img=new ImageIcon("主食类//家常炒面.jpg");          
            jl4 = new JLabel(img);
    	    img=new ImageIcon("主食类//金牌海鲜炒饭.jpg");           
            jl5 = new JLabel(img);
            img=new ImageIcon("主食类//糖醋排骨.jpg");          
            jl6 = new JLabel(img);
            img=new ImageIcon("主食类//新奥尔良烤翅.jpg");          
            jl7 = new JLabel(img);
            img=new ImageIcon("主食类//照烧鸡腿.jpg");           
            jl8 = new JLabel(img);
            img=new ImageIcon();          
            jl9 = new JLabel(img);
            img=new ImageIcon();          
            jl10 = new JLabel(img);        
            
            jl11 = new JLabel("39",JLabel.CENTER);
            jl12 = new JLabel("39",JLabel.CENTER);
            jl13 = new JLabel("39",JLabel.CENTER);
            jl14 = new JLabel("39",JLabel.CENTER);
            jl15 = new JLabel("39",JLabel.CENTER);
            jl16 = new JLabel("39",JLabel.CENTER);
            jl17 = new JLabel("39",JLabel.CENTER);
            jl18 = new JLabel("",JLabel.CENTER);
            jl19 = new JLabel("",JLabel.CENTER);
            
            jcb1 = new JCheckBox("红烧肉");
    	    jcb2 = new JCheckBox("红烧猪蹄");
    	    jcb3 = new JCheckBox("家常炒面");
    	    jcb4 = new JCheckBox("金牌海鲜炒饭");
    	    jcb5 = new JCheckBox("糖醋排骨");
    	    jcb6 = new JCheckBox("新奥尔良烤翅");
    	    jcb7 = new JCheckBox("照烧鸡腿");   	    
    	    
    	    jp5.add(jl2);
    	    jp5.add(jl3);
    	    jp5.add(jl4);
    	    jp5.add(jl11);
    	    jp5.add(jl12);
    	    jp5.add(jl13);
    	    jp5.add(jcb1);				
    	    jp5.add(jcb2);		
    	    jp5.add(jcb3);
    	    jp5.add(jl5);
    	    jp5.add(jl6);
    	    jp5.add(jl7);
    	    jp5.add(jl14);
    	    jp5.add(jl15);
    	    jp5.add(jl16);
    	    jp5.add(jcb4);				
    	    jp5.add(jcb5);		
    	    jp5.add(jcb6);
    	    jp5.add(jl8);	    
    	    jp5.add(jl9);
    	    jp5.add(jl10);
    	    jp5.add(jl17);
    	    jp5.add(jl18);
    	    jp5.add(jl19);
    	    jp5.add(jcb7);				
    //甜品类
    	    img=new ImageIcon("甜品类//红豆马蹄糕.jpg");      
            jl2 = new JLabel(img);      
            img=new ImageIcon("甜品类//红糖鸡蛋.jpg");          
            jl3 = new JLabel(img);
            img=new ImageIcon("甜品类//榴莲酥.jpg");          
            jl4 = new JLabel(img);
    	    img=new ImageIcon("甜品类//芒果糯米糍.jpg");           
            jl5 = new JLabel(img);
            img=new ImageIcon("甜品类//全麦小餐包.jpg");          
            jl6 = new JLabel(img);
            img=new ImageIcon("甜品类//杂果榴莲冰.jpg");          
            jl7 = new JLabel(img);
            img=new ImageIcon("甜品类//紫薯汤圆.jpg");           
            jl8 = new JLabel(img);
            img=new ImageIcon();          
            jl9 = new JLabel(img);
            img=new ImageIcon();          
            jl10 = new JLabel(img);        
            
            jl11 = new JLabel("12",JLabel.CENTER);
            jl12 = new JLabel("12",JLabel.CENTER);
            jl13 = new JLabel("12",JLabel.CENTER);
            jl14 = new JLabel("12",JLabel.CENTER);
            jl15 = new JLabel("12",JLabel.CENTER);
            jl16 = new JLabel("12",JLabel.CENTER);
            jl17 = new JLabel("12",JLabel.CENTER);
            jl18 = new JLabel("",JLabel.CENTER);
            jl19 = new JLabel("",JLabel.CENTER);
            
            jcb1 = new JCheckBox("红豆马蹄糕");
    	    jcb2 = new JCheckBox("红糖鸡蛋");
    	    jcb3 = new JCheckBox("榴莲酥");
    	    jcb4 = new JCheckBox("芒果糯米糍");
    	    jcb5 = new JCheckBox("全麦小餐包");
    	    jcb6 = new JCheckBox("杂果榴莲冰");
    	    jcb7 = new JCheckBox("紫薯汤圆");    	    
    	    
    	    jp6.add(jl2);
    	    jp6.add(jl3);
    	    jp6.add(jl4);
    	    jp6.add(jl11);
    	    jp6.add(jl12);
    	    jp6.add(jl13);
    	    jp6.add(jcb1);				
    	    jp6.add(jcb2);		
    	    jp6.add(jcb3);
    	    jp6.add(jl5);
    	    jp6.add(jl6);
    	    jp6.add(jl7);
    	    jp6.add(jl14);
    	    jp6.add(jl15);
    	    jp6.add(jl16);
    	    jp6.add(jcb4);				
    	    jp6.add(jcb5);		
    	    jp6.add(jcb6);
    	    jp6.add(jl8);	    
    	    jp6.add(jl9);
    	    jp6.add(jl10);
    	    jp6.add(jl17);
    	    jp6.add(jl18);
    	    jp6.add(jl19);
    	    jp6.add(jcb7);				
    //饮品类
    	    img=new ImageIcon("饮品类//补气养颜饮.jpg");      
            jl2 = new JLabel(img);      
            img=new ImageIcon("饮品类//玫瑰陈皮饮.jpg");          
            jl3 = new JLabel(img);
            img=new ImageIcon("饮品类//梅子冬瓜饮.jpg");          
            jl4 = new JLabel(img);
    	    img=new ImageIcon("饮品类//木瓜红枣饮.jpg");           
            jl5 = new JLabel(img);
            img=new ImageIcon("饮品类//苹果牛奶饮.jpg");          
            jl6 = new JLabel(img);
            img=new ImageIcon("饮品类//苹果雪梨饮.jpg");          
            jl7 = new JLabel(img);
            img=new ImageIcon("饮品类//肉桂姜糖饮.jpg");           
            jl8 = new JLabel(img);
            img=new ImageIcon();          
            jl9 = new JLabel(img);
            img=new ImageIcon();          
            jl10 = new JLabel(img);        
            
            jl11 = new JLabel("28",JLabel.CENTER);
            jl12 = new JLabel("28",JLabel.CENTER);
            jl13 = new JLabel("28",JLabel.CENTER);
            jl14 = new JLabel("28",JLabel.CENTER);
            jl15 = new JLabel("28",JLabel.CENTER);
            jl16 = new JLabel("28",JLabel.CENTER);
            jl17 = new JLabel("28",JLabel.CENTER);
            jl18 = new JLabel("",JLabel.CENTER);
            jl19 = new JLabel("",JLabel.CENTER);
            
            jcb1 = new JCheckBox("补气养颜饮");
    	    jcb2 = new JCheckBox("玫瑰陈皮饮");
    	    jcb3 = new JCheckBox("梅子冬瓜饮");
    	    jcb4 = new JCheckBox("木瓜红枣饮");
    	    jcb5 = new JCheckBox("苹果牛奶饮");
    	    jcb6 = new JCheckBox("苹果雪梨饮");
    	    jcb7 = new JCheckBox("肉桂姜糖饮");	    	    
    	    
    	    jp7.add(jl2);
    	    jp7.add(jl3);
    	    jp7.add(jl4);
    	    jp7.add(jl11);
    	    jp7.add(jl12);
    	    jp7.add(jl13);
    	    jp7.add(jcb1);				
    	    jp7.add(jcb2);		
    	    jp7.add(jcb3);
    	    jp7.add(jl5);
    	    jp7.add(jl6);
    	    jp7.add(jl7);
    	    jp7.add(jl14);
    	    jp7.add(jl15);
    	    jp7.add(jl16);
    	    jp7.add(jcb4);				
    	    jp7.add(jcb5);		
    	    jp7.add(jcb6);
    	    jp7.add(jl8);	    
    	    jp7.add(jl9);
    	    jp7.add(jl10);
    	    jp7.add(jl17);
    	    jp7.add(jl18);
    	    jp7.add(jl19);
    	    jp7.add(jcb7);				
    	    	       	  	  
    // 展示组件	       	    
    	    jf = new JFrame("点菜系统");
    	    jf.setSize(860, 635);
    	    jf.setJMenuBar(jm1);
    	    jf.setLayout(new BorderLayout(10,0)); //组件间距	    
    	    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	  	
    	    jf.setLocationRelativeTo(null);
    	    jf.setVisible(true);
    	    	  	 	
    	    jf.add(jp1,BorderLayout.SOUTH);
    	    jf.add(jl1,BorderLayout.NORTH);	    
    	    jf.add(jtp,BorderLayout.CENTER);
    	    jf.add(jtp2,BorderLayout.WEST);
    	    jf.add(jp9,BorderLayout.EAST);
    	    	    
    	}
    //监听器
    public void actionPerformed(ActionEvent e) {		
    		//判断哪个按钮被点击
    		switch(e.getActionCommand()) {
    		case "取消":
    			ForJCheckBox(jp2);
    			ForJCheckBox(jp3);
    			ForJCheckBox(jp4);
    			ForJCheckBox(jp5);
    			ForJCheckBox(jp6);
    			ForJCheckBox(jp7);
    			break;
    		case "下单":
    			if(B && ForJCheckBoxnum(jp9)) {					    			    
    				ForJCheckBoxStr(jp2,data,names,model,jt);
    				ForJCheckBoxStr(jp3,data,names,model,jt);
    				ForJCheckBoxStr(jp4,data,names,model,jt);
    				ForJCheckBoxStr(jp5,data,names,model,jt);
    				ForJCheckBoxStr(jp6,data,names,model,jt);
    				ForJCheckBoxStr(jp7,data,names,model,jt);					
    				jp9.add(jsp);
    				B = false;
    			}else if(ForJCheckBoxnum(jp9) == false) {
    				JOptionPane.showMessageDialog(null, "请输入用餐人数", "下单错误", JOptionPane.ERROR_MESSAGE);
    				ForJCheckBox(jp2);
    				ForJCheckBox(jp3);
    				ForJCheckBox(jp4);
    				ForJCheckBox(jp5);
    				ForJCheckBox(jp6);
    				ForJCheckBox(jp7);
    			}else {
    				JOptionPane.showMessageDialog(null, "您已下单,若需要点菜请点击加单按钮", "下单错误", JOptionPane.ERROR_MESSAGE);
    				ForJCheckBox(jp2);
    				ForJCheckBox(jp3);
    				ForJCheckBox(jp4);
    				ForJCheckBox(jp5);
    				ForJCheckBox(jp6);
    				ForJCheckBox(jp7);
    			}
    			break;
    		case "加单":	
    			if(B == false) {			
    				ForJCheckBoxStr(jp2,data,names,model,jt);
    				ForJCheckBoxStr(jp3,data,names,model,jt);
    				ForJCheckBoxStr(jp4,data,names,model,jt);
    				ForJCheckBoxStr(jp5,data,names,model,jt);
    				ForJCheckBoxStr(jp6,data,names,model,jt);
    				ForJCheckBoxStr(jp7,data,names,model,jt);
    				jp9.add(jsp);
    			}else {
    				JOptionPane.showMessageDialog(null, "您还未下单,请先点击下单按钮", "加单错误", JOptionPane.ERROR_MESSAGE);
    				ForJCheckBox(jp2);
    				ForJCheckBox(jp3);
    				ForJCheckBox(jp4);
    				ForJCheckBox(jp5);
    				ForJCheckBox(jp6);
    				ForJCheckBox(jp7);
    			}	
    			break;
    		case "结账":
    			if(jt.getRowCount() != 0) {
    				int res = JOptionPane.showConfirmDialog(null, "是否继续操作", "结账提示", JOptionPane.YES_NO_OPTION);
    				if (res == JOptionPane.YES_OPTION) {
    					JDialog FRAME = new JDialog();//构造一个新的JFrame,作为新窗口。
    					FRAME.setBounds(new Rectangle((int) jf.getBounds().getX() + 50,(int) jf.getBounds().getY() + 50, (int) jf.getBounds().getWidth(), (int) jf.getBounds().getHeight()));											   
    					FRAME.add(jsp,BorderLayout.NORTH);
    					try {
    						out = new BufferedWriter(new FileWriter("账单.txt",true));
    						ForJCheckBoxnum(jp9,out,FRAME);
    					} catch (IOException e1) {
    						e1.printStackTrace();
    					}				
    					FRAME.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);// 设置模式类型。					
    					FRAME.setVisible(true);
    					B = true;
    					//((DefaultTableModel)jt.getModel()).getDataVector().clear();// 清空前一人的菜单				
    					break;
    				} else {
    					break;
    				}
    			}else {
    				JOptionPane.showMessageDialog(null, "您还未下单,不能进行结账", "结账错误", JOptionPane.ERROR_MESSAGE);
    				ForJCheckBox(jp2);
    				ForJCheckBox(jp3);
    				ForJCheckBox(jp4);
    				ForJCheckBox(jp5);
    				ForJCheckBox(jp6);
    				ForJCheckBox(jp7);
    			}
    		case "热销菜式":
    			jtp.setSelectedIndex(0);//切换卡片
    			break;
    		case "小炒类":
    			jtp.setSelectedIndex(1);
    			break;
    		case "蔬菜类":
    			jtp.setSelectedIndex(2);
    			break;
    		case "主食类":
    			jtp.setSelectedIndex(3);
    			break;
    		case "甜品类":
    			jtp.setSelectedIndex(4);
    			break;
    		case "饮品类":
    			jtp.setSelectedIndex(5);
    			break;
    		}
    }
    //将已勾选的取消
    void ForJCheckBox(JPanel p) {
    	int count = p.getComponentCount();
    	for (int i = 0; i < count; i++) {
    		Component comp = p.getComponent(i);
    		if(comp instanceof JCheckBox){
    			JCheckBox jcb = (JCheckBox)comp;
    			if(jcb.isSelected()) {
    				jcb.setSelected(false);				
    			}
    		}
    	}
    }
    //记录餐桌号、用餐人数、时间、菜名、价格、总金额
    void ForJCheckBoxnum(JPanel p,BufferedWriter out,JDialog FRAME) throws IOException {
    	String Str = "\r\n\r\n餐桌号:	"+jg[jcb11.getSelectedIndex()]+"\r\n用餐人数:	"+jtf2.getText()+"人";
    	SimpleDateFormat sdf = new SimpleDateFormat("\r\n时间:	yyyy年-MM月-dd日 HH:mm:ss");
    	Calendar calendar = Calendar.getInstance();  
        Date date = calendar.getTime();  
        String dateStringParse = sdf.format(date);   
    	out.write(Str);
    	out.write(dateStringParse);
    	int rowCount=jt.getRowCount();
    	int sum = 0;
    	String b = null;
        for(int i=0;i<rowCount;i++){
        String str = (String)jt.getValueAt(i, 0);//取得第i行第一列的数据
        out.write("\r\n菜名:	"+str);
        str = ((String)jt.getValueAt(i, 1));//取得第i行第二列的数据
        try {
            int a = Integer.parseInt(str);
            sum = sum + a;
            b = Integer.toString(sum);
        } catch (NumberFormatException e) {
            e.printStackTrace();
        }
        out.write("\r\n价格:	"+str+"元");
        }
        out.write("\r\n总金额:	"+b+"元");
    	out.flush();
    	out.close();
    	
    	JLabel JL = new JLabel("总金额:"+b,JLabel.CENTER);
    	FRAME.add(JL,BorderLayout.SOUTH);
    }
    //判断是否输入用餐人数
    boolean ForJCheckBoxnum(JPanel p) {
    	int count = p.getComponentCount();
    	for (int i = 0; i < count; i++) {
    		Component comp = p.getComponent(i);
    		if(comp instanceof JTextField){
    			JTextField jtf = (JTextField)comp;
    			if(jtf.getText().equals(""))return false;
    		}
    	}return true;
    }
    //向JTable添加已点菜式及价格
    void ForJCheckBoxStr(JPanel p,Vector data,Vector names,DefaultTableModel model,JTable jt) {	
    	int count = p.getComponentCount();
    	for (int i = 0; i < count; i++) {
    		Component comp = p.getComponent(i);
    		if(comp instanceof JCheckBox){
    			JCheckBox jcb = (JCheckBox)comp;
    			if(jcb.isSelected()) {
    				jcb.setSelected(false);	
    				Component Comp = p.getComponent(i-3);
    				JLabel jl = (JLabel)Comp;			
    				Vector Row = new Vector();
    				Row.add(jcb.getText());
    				Row.add(jl.getText());
    				data.add(Row.clone());
    				model = new DefaultTableModel(data, names);				
    				jt.setModel(model);
    			}
    		}
    	}
    }
    }
    
    
    展开全文
  • 本次的餐厅管理系统,在以前的版本上增添了人事管理,的界面设计,和实现。以及客户信息表的创建,和业务逻辑。以及餐厅的设计,由于缺少与餐厅相关的素材素材,餐厅 前台的设计还不完善。有兴趣的可以自己去实现。...
  • 朋友的优秀毕业设计,源码+论文! 磨了好久才磨来的! 大出血了!
  • 山东建筑大学计算机科学与技术学院 程序设计实用案例选讲 大作业说明书 目 某高校餐厅餐卡管理系统 题 程课 程序设计实用案例选讲 计算机科学与技术 院 部 业 网络工程 专 班 网络121 级 学生姓名 *琳 学 号 * 指导...
  • JAVA 餐厅管理

    2014-07-03 13:55:42
    餐厅管理系统。非诚的好。你们抓紧试试吧。实现了系统的正确使用
  • 该简易餐厅结账系统需要完成客人订桌、点菜、结账及日报表打印功能。 选题详述: (1)三种参与角色:客人、系统管理人员、服务及收银台人员 (2)客人功能需求:订桌、点(退)菜、结账。 (3)系统管理员功能需求...
  • 在线播放演示录像jsp5165基于JAVA的餐饮订餐管理系统mysql该设计有演示视频 100%能运行买重包换 保密发送 一校一份编号:jsp5165语言+数据库:jsp+mysql 字数:10629字 摘 要科学技术日新月异的进步,让人类生活发生...
  • 基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的餐厅点餐系统, 该项目可用各类java课程设计大作业中, 餐厅点餐系统系统架构分为前后台两部分, 最终实现在线上进行餐厅点餐系统各项功能,实现了诸如用户管理, ...
  • Java实现餐厅点餐系统

    万次阅读 多人点赞 2019-06-18 14:19:22
    1.点餐管理系统背景 随着现在科技的发展,去饭店吃饭点餐和结账都是以线上操作的形势完成。 a.和现在有的系统比较起来,本系统有餐桌管理,菜系管理,菜名管理,订单管理,订单详情等功能。 b.和现有系统比较起来,...
  • Java实现的在线点餐、基于SSM(springBoot)+mysql的Web餐厅点餐系统实现## 基于Java实现的在线点餐、SSM+mysql餐厅点餐系统实现 ssm实现在线点餐系统、分为普通用户点餐端(前台),后台管理端(后台)、另外后期会...
  • 餐厅管理系统

    2008-04-10 21:05:37
    java---餐厅管理系统
  • import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.annotation.Resource;import javax.servlet.http.HttpServletRequest;import javax....
  • 点餐管理系统背景随着科技的发展,去饭店吃饭点餐和结账都是以线上操作的形势完成。a.和现在有的系统比较起来,本系统有餐桌管理,菜系管理,菜名管理,订单管理,订单详情等功能。b.和现有系统比较起来,本系统是B/...
  • 餐厅管理系统.zip

    2020-04-24 10:46:28
    餐厅管理系统实现了餐厅管理系统的基本功能:前台管理、桌台信息的查询、开台信息、点菜、收银、桌台信息管理、员工管理等。 采用架构模式及运行环境: 1 、系统采用当今流行的 BS 结构和三层架构模式,oracle ...
  • 首页、个人中心、后厨员工信息管理系统公告管理 、菜品分类管理管理管理、菜品展示管理、餐桌信息管理、餐桌预定管理、前台员工签到管理、后厨员工签到管理、会员信息管理、库存信息管理、购物车管理,等功能...
  • 点餐管理系统背景随着科技的发展,去饭店吃饭点餐和结账都是以线上操作的形势完成。a.和现在有的系统比较起来,本系统有餐桌管理,菜系管理,菜名管理,订单管理,订单详情等功能。b.和现有系统比较起来,本系统是B/...
  • 基于java餐厅点餐系统

    万次阅读 多人点赞 2019-06-11 10:13:11
    基于java餐厅点餐系统 一、项目背景 在互联网经济飞速发展的时代,网络化企业管理也在其带领下快速兴起,开发一款自主点餐系统会受到众多商家的青睐。现如今市场上的人力资源价格是非常高昂的,一款自主点餐...
  • 基于Java的可浓餐厅网上订餐管理系统的设计与实现
  • 前言 ...如果对大家有用的话欢迎点个star 说明 该毕业设计解决了餐厅收银业务中的一些问题,...功能方面包括:桌位管理,账单管理,菜单管理,酒水库存等。业务方面较为简单,便于学习者将精力放到技术层面。 数据库设计

空空如也

空空如也

1 2 3 4 5 6
收藏数 115
精华内容 46
关键字:

餐厅管理系统java

java 订阅