当前位置:首页 > 基于java的餐厅点菜系统
能,系统后台数据库只有一张表,用于保存菜品名称、价格和桌位号。
通过本次课程设计可以加深对java语言程序设计基本知识的理解,掌握java语言程序编写和调试的基本技能,了解有关程序设计、程序开发的思路方法,提高利用软件程序解决实际问题的能力。在设计过程中,可以培养我们分析问题、解决问题的能力,把理论与实际结合在一起,可以更好的掌握好一门语言,同时因为需要用到数据库,所以可以通过此次课程设计自学一下数据库,以及利用JDBC访问数据库。
二、设计原理
本设计主要用到java语言程序设计、SQL语言以及Access数据库。这是一个Java Application,没有浏览器提供的现成的图形界面可以直接使用,所以需要首先创建自己的图形界面。首先创建一个对话框,在其内容面板内添加两个组件按钮,当进入系统后,即可进入主菜单界面,此部分主要是要实现对按钮的监听事件,即使用addActionListener(this)事件监听器,事件处理接口的方法为actionPerformed(ActionEvent e)。
在主界面,首先是完成窗体整体布局,在java的GUI界面设计中,布局控制是通过为容器设置布局管理器来实现的。布局管理器负责确定组件在容器中的位置和大小。当容器需要定位组件和确定组件大小时,就会给布局管理器对象法消息,让它完成该项工作。Java.awt包中定义了5种布局管理器类,每个布局管理器类对应一种布局策略。在此系统中,用到最多的布局管理器类有BorderLayout(组件按北、南、东、西、中几个位置排列)和GridLayout(以行和列的网络形式安排组件)。然后因为要显示桌位号和菜品,利用单选按钮组来实现顾客的选菜功能,创建一个单选按钮组,提供选中/不选中两种状态,ButtonGroup是由一组互斥的按钮组成,同一时刻只能有一个按钮被选中,将桌位号的按钮组加入到此按钮组中。菜品的显示也以单选按钮的方式显示在窗体界面中,这样顾客就可以选择自己喜欢的菜品,然后点击确定后就可将数据存入数据库中。
在java的编程中,需要用到Access数据库,启动进入Access后,创建一个数据库,然后定义表的列名与列的数据类型 ,分别用于存放桌位号、菜品名
5
称及菜品价格。为了实现在java程序中访问Access数据库,需要利用windows提供的工具创建指向数据库的数据源,这样在程序中通过数据源名即可访问Access中的数据库。
在对数据进行操作之前,首先要建立程序与一个具体数据库的连接,而在连接数据库以前,必须注册该数据库的驱动程序。完成此项工作的是DriverManager类,它被称为驱动程序管理器,其基本功能是管理JDBC驱动程序。Driver是java定义的一个接口,每一个驱动程序类都必须实现这个接口。装载数据库驱动程序可以采用Class类的forName()方法,当对数据库的操作告一段落时,可通过调用Connection的close()方法结束会话,释放连接的数据库及JDBC资源。
JDBC是一种用于访问数据库和执行SQL语句的java编程接口,由一组用java语言编写的类和接口组成。JDBC是用于java应用程序连接数据库的标准方法。JDBC对java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。JDBC使用已有的SQL标准并支持其他数据库连接标准,JDBC实现了所有这些面向标准的、简单且高性能的接口。利用JDBC访问数据库大致包含以下三个步骤:
①建立与数据库的连接
②通过发送SQL语句对数据库进行读写
③处理语句的执行结果,特别是查询语句的返回数据
三、详细设计步骤
本系统采用基本的JAVA语言编写,由于JAVA语言不同与C++语言,它具有其语言的特殊性,包含很多类,基本是每一种功能为一个类。开始有主框架类,通过按钮监听事件调用别的类,完成功能的实现。
其基本的流程为:顾客来酒店选择桌号——>按照菜谱上的菜的种类选择所需要的菜——>然后按下确认键确定要选择的菜品——>统计所选择菜的价格——>结帐付款为所有菜的编号所相对应的价格相加并验证自己付款是否有误。系统主
6
要流程图如图1所示:
顾客进入餐厅运行点菜系统进入系统是选择桌号否退出系统确定、结账选择菜品取消输入桌号确定查看消费退出系统
图1 总体结构框图
根据功能需求,本系统包含有5个类,利用ACCESS建立一个表就可以了。通过JAVA与该数据表的连接关系对该表的数据进行输入,然后通过顾客对数据的随机选择来调用数据表的数据,实现不同的功能。 系统的主要功能模块
首先进入系统初始界面,此界面由一个对话框构成,由 public class order implements ActionListener {}完成这个功能。
通过Container contentPane = Dialog.getContentPane()获得其内容面板,然后新建一个中间容器,在容器内添加两个按钮,分别表示进入系统和退出系统,点击按钮时,就可触发相应的ActionEvent事件,通过getActionCommand()获得按钮标签,当点击进入系统时关闭对话框,进入点菜系统主界面,否则即可退出系统。
当点击进入系统时,系统就进入点菜界面,用户可以在此窗口中选择自己喜欢的桌号和喜欢的菜品,要实现这个功能,需要用到的框架类为:
public class Menu implements ActionListener, ItemListener {}
这部分的功能实现,首先是定义两个数组,分别用于存放餐桌号和菜品名单,
7
创建两个单选按钮组,并指明其文本说明标签,即用于显示桌号和菜品名单及价格,然后将单选按钮组分别极加入到两个中间容器中,这样就可以看到桌位号和菜品名称及价格。然后设置三个按钮,分别是确定、结账和取消按钮。当顾客点击确定后,就将顾客所选择的桌号和菜品名单及价格存入数据库中,当顾客点击结账后,就可进入结账界面,当顾客点击取消按钮,就可将当前所选择的菜品删除掉,然后可以再重新选择顾客喜欢的菜品。其主要流程图如图2所示:
创建一个Jframe窗体布局,设置界面,添加事件监听器设置一个布尔型的标志数组remark[],用于标置哪个单选按钮被点了按钮事件监听取消确定建立与数据库的连接,当remark[i]true时,向数据库写入语句,分别标示其桌位号、菜品名称及价格清空数据保存数据并结账关闭数据库,返回数据进入结账界面
图2 点菜功能流程图
这部分主要是要实现将顾客所选择的桌号和菜品等数据存进数据库,调用DriverManaget类的静态方法getConnection建立一个数据库连接,并定义一个remark标志,当顾客选择了哪号桌或者哪个菜时,就可以向数据库中写入语句,这样,当用户点击确定后就保存数据。
这里主要是通过执行SQL语句访问数据库,然后执行查询返回的结果。当点击一个单选按钮后,返回一个remark[i],当建立与数据库的连接后,执行SQL语句的写语句,向数据库中写入语句,当点击确定后,就保存数据。当点击取消按钮时,执行SQL语句的删除语句,这样就可以将所点的菜清空,然后重新选择自己喜欢的菜品。
当在菜单窗口中按下结账按钮后,就会进入结账的界面,此时需要跳转到另
8
共分享92篇相关文档