ImageVerifierCode 换一换
格式:DOCX , 页数:45 ,大小:260.90KB ,
资源ID:11987862      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11987862.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java酒店管理系统课程设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java酒店管理系统课程设计.docx

1、java酒店管理系统课程设计 Java语言程序设计课程设计题 目 酒店管理系统 学 院 南湖学院 专 业 计算机科学与技术 班 级 计科N112 学 号 201145209133 学生姓名 吴威宗 指导教师 李永刚 编写日期 2014/6/26 一、需求分析随着餐饮行业的迅速发展,现有的人工管理方式已经不能呢个满足管理者的需求,广大餐饮业经营者已经意识到使用计算机应用软件的重要性,决定在餐饮企业的经营管理上引入计算机应用软件管理系统。 酒店管理系统的大致功能:1开台点餐2菜品管理3自动结账4后台菜系菜品管理5日月年结账报表6用户设置根据需求分析,本系统采用的语言:(1)本系统采用Java语言,

2、Java是目前使用最为广泛的计算机语言之一。它具有简单,面向对象,稳定,与平台无关等特点。说他简单,并不是说这门语言很干瘪,而是一种清楚更容易理解的方式实现程序。面向对象是基于对象的变成更符合人的思维方式,使人们更容易编写程序。(2)本系统还采用SQL语言,SQL Server具有许多显著优点:易用性、适合分布组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。(3)本系统有效的利用Java和SQL的优点。二、系统运行环境 操作系统为Windows 7、windows XP或windows 2003 使用的集成开发工具Eclipse 数据库采用SQ

3、L Server2008,项目运行环境为JDK 7。三、功能需求描述 1开台签单工作区的功能:主要功能有开台、点菜、加菜、签单、查看开台信息和签单信息。 2自动结账工作区的功能:一个功能是自动计算当前选中餐台的消费金额;另一个功能是在结账时自动计算找零金额。 3结账报表工作区功能:日结帐报表,月结账报表,年结账报表。4后天管理工作区功能:管理添加信息四、模块结构图模块结构图五、数据库设计51数据库分析 酒店管理系统的需求包括开台点菜功能、智能化获取菜品功能、自动结账功能、营业额报表功能等。在这些功能总主要涉及的数据表包括台号表、菜品表、消费单表;为了使系统更加的完善,还需要为菜品分类,即需要用

4、到菜系表;为了实现菜品的日销售情况统计,还要建立一个消费项目表,用来记录消费单消费的菜品。52数据库概念设计 数据库设计是系统设计过程中的重要组成部分,它是通过管理系统的整天需求而制定的,数据库设计的好坏直接影响到系统的后期开发。53 数据库逻辑结构设计 台号表菜品表菜系表消费单表消费项目表管理员表六、程序模块设计 功能模块整体设计:用户功能界面:代码:package com.mwq.frame;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.GridBagConstraints;import jav

5、a.awt.GridBagLayout;import java.awt.Insets;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import .URL;import java.util.Vector;import javax.swing.BoxLayout;import javax.swing.ImageIcon;import javax.swing.JBut

6、ton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import com.mwq.dao.Dao;import com.mwq.mwing.MPanel;public class LandFrame extends JFrame private JPasswordField passwordFiel

7、d;/ 密码框 private JComboBox usernameComboBox;/ 用户名下拉菜单 public static void main(String args) try LandFrame frame = new LandFrame(); frame.setVisible(true); catch (Exception e) e.printStackTrace(); public LandFrame() / 首先设置窗口的相关信息 super();/ 调用父类的构造方法 setTitle( 小组:吴威宗 周志远);/ 设置窗口的标题 setResizable(false);/

8、 设置窗口不可以改变大小 setAlwaysOnTop(true);/ 设置窗口总在最前方 setBounds(100, 100, 428, 292);/ 设置窗口的大小 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/ 设置当关闭窗口时执行的动作 / 下面将创建一个面板对象并添加到窗口的容器中 final MPanel panel = new MPanel(this.getClass().getResource( land_background.jpg);/ 创建一个面板对象 panel.setLayout(new GridBagLayout(

9、);/ 设置面板的布局管理器为网格组布局 getContentPane().add(panel, BorderLayout.CENTER);/ 将面板添加到窗体中 final JLabel topLabel = new JLabel(); topLabel.setPreferredSize(new Dimension(0, 126); final GridBagConstraints gridBagConstraints_5 = new GridBagConstraints(); gridBagConstraints_5.gridx = 0; gridBagConstraints_5.grid

10、y = 0; panel.add(topLabel, gridBagConstraints_5); final JLabel leftLabel = new JLabel(); leftLabel.setPreferredSize(new Dimension(140, 0); final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints(); gridBagConstraints_3.gridy = 1; gridBagConstraints_3.gridx = 0; panel.add(leftLabel, gr

11、idBagConstraints_3); final JLabel rightLabel = new JLabel(); rightLabel.setPreferredSize(new Dimension(55, 0); final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints(); gridBagConstraints_2.gridy = 1; gridBagConstraints_2.gridx = 1; panel.add(rightLabel, gridBagConstraints_2); / 创建并设

12、置用户名下拉菜单 usernameComboBox = new JComboBox();/ 创建用户名下拉菜单组件对象 usernameComboBox.setMaximumRowCount(5);/ 设置下拉菜单最多可显示的选项数 usernameComboBox.addItem(请选择);/ 为下拉菜单添加提示项 usernameComboBox .addActionListener(new UsernameComboBoxActionListener();/ 为下拉菜单添加事件监听器 final GridBagConstraints gridBagConstraints = new Gr

13、idBagConstraints();/ 创建网格组布局管理器对象 gridBagConstraints.anchor = GridBagConstraints.WEST;/ 设置为靠左侧显示 gridBagConstraints.gridy = 1;/ 设置行索引为1 gridBagConstraints.gridx = 2;/ 设置列索引为2 panel.add(usernameComboBox, gridBagConstraints);/ 将组件按指定的布局管理器添加到面板中 / 创建并设置密码框 passwordField = new JPasswordField();/ 创建密码框组

14、件对象 passwordField.setColumns(20);/ 设置密码框可显示的字符数 passwordField.setText( );/ 设置密码框默认显示6个空格 passwordField.addFocusListener(new PasswordFieldFocusListener();/ 为密码框添加焦点监听器 final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();/ 创建网格组布局管理器对象 gridBagConstraints_1.insets = new Insets(5, 0

15、, 0, 0);/ 设置组件外部上方的填充量为5像素 gridBagConstraints_1.anchor = GridBagConstraints.WEST;/ 设置为靠左侧显示 gridBagConstraints_1.gridy = 2;/ 设置行索引为2 gridBagConstraints_1.gridx = 2;/ 设置列索引为2 panel.add(passwordField, gridBagConstraints_1);/ 将组件按指定的布局管理器添加到面板中 / 创建并设置一个用来添加三个按钮的面板 final JPanel buttonPanel = new JPanel

16、();/ 创建一个用来添加按钮的面板 buttonPanel.setOpaque(false);/ 设置面板的背景为透明 buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.X_AXIS);/ 设置面板采用水平箱布局 final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints();/ 创建网格组布局管理器对象 gridBagConstraints_4.insets = new Insets(10, 0, 0, 0);/ 设置组件外部上方的填充量为1

17、0像素 gridBagConstraints_4.gridwidth = 2;/ 设置其占两列 gridBagConstraints_4.gridy = 3;/ 设置行索引为3 gridBagConstraints_4.gridx = 1;/ 设置列索引为1 panel.add(buttonPanel, gridBagConstraints_4);/ 将组件按指定的布局管理器添加到面板中 / 创建并设置一个登录按钮,并将其添加到用来添加按钮的面板中 final JButton landButton = new JButton();/ 创建登录按钮组件对象 landButton.setMargi

18、n(new Insets(0, 0, 0, 0);/ 设置按钮边框和标签之间的间隔 landButton.setContentAreaFilled(false);/ 设置不绘制按钮的内容区域 landButton.setBorderPainted(false);/ 设置不绘制按钮的边框 URL landUrl = this.getClass().getResource(land_submit.png);/ 获得默认情况下登录按钮显示图片的URL landButton.setIcon(new ImageIcon(landUrl);/ 设置默认情况下登录按钮显示的图片 URL landOverUr

19、l = this.getClass().getResource( land_submit_over.png);/ 获得当鼠标经过登录按钮时显示图片的URL landButton.setRolloverIcon(new ImageIcon(land_submit_over.png);/ 设置当鼠标经过登录按钮时显示的图片 URL landPressedUrl = this.getClass().getResource( land_submit_pressed.png);/ 获得当登录按钮被按下时显示图片的URL landButton.setPressedIcon(new ImageIcon(la

20、nd_submit_pressed.png);/ 设置当登录按钮被按下时显示的图片 landButton.addActionListener(new LandButtonActionListener();/ 为登录按钮添加事件监听器 buttonPanel.add(landButton);/ 将登录按钮添加到用来添加按钮的面板中 final JButton resetButton = new JButton(); resetButton.setMargin(new Insets(0, 0, 0, 0); resetButton.setContentAreaFilled(false); rese

21、tButton.setBorderPainted(false); URL resetUrl = this.getClass().getResource(land_reset.png); resetButton.setIcon(new ImageIcon(resetUrl); URL resetOverUrl = this.getClass().getResource( land_reset_over.png); resetButton.setRolloverIcon(new ImageIcon(land_reset_over.png); URL resetPressedUrl = this.g

22、etClass().getResource( land_reset_pressed.png); resetButton.setPressedIcon(new ImageIcon(resetPressedUrl); resetButton.addActionListener(new ResetButtonActionListener(); buttonPanel.add(resetButton); final JButton exitButton = new JButton(); exitButton.setMargin(new Insets(0, 0, 0, 0); exitButton.se

23、tContentAreaFilled(false); exitButton.setBorderPainted(false); URL exitUrl = this.getClass().getResource(land_exit.png); exitButton.setIcon(new ImageIcon(exitUrl); URL exitOverUrl = this.getClass() .getResource(land_exit_over.png); exitButton.setRolloverIcon(new ImageIcon(exitOverUrl); URL exitPress

24、edUrl = this.getClass().getResource( land_exit_pressed.png); exitButton.setPressedIcon(new ImageIcon(exitPressedUrl); exitButton.addActionListener(new ExitButtonActionListener(); buttonPanel.add(exitButton); / / 初始化用户名下拉菜单 Vector userNameV = Dao.getInstance().sUserNameOfNotFreeze(); if (userNameV.si

25、ze() = 0) usernameComboBox.addItem(TSoft); else for (int i = 0; i userNameV.size(); i+) usernameComboBox.addItem(userNameV.get(i); class UsernameComboBoxActionListener implements ActionListener public void actionPerformed(ActionEvent e) String userName = (String) usernameComboBox.getSelectedItem();

26、if (userName.equals(TSoft) passwordField.setText(111); class PasswordFieldFocusListener implements FocusListener public void focusGained(FocusEvent e) passwordField.setText(); public void focusLost(FocusEvent e) char passwords = passwordField.getPassword(); String password = turnCharsToString(passwo

27、rds); if (password.length() = 0) passwordField.setText( ); class ExitButtonActionListener implements ActionListener public void actionPerformed(ActionEvent arg0) System.exit(0); class ResetButtonActionListener implements ActionListener public void actionPerformed(ActionEvent arg0) usernameComboBox.s

28、etSelectedIndex(0); passwordField.setText( ); class LandButtonActionListener implements ActionListener public void actionPerformed(ActionEvent e) String username = usernameComboBox.getSelectedItem().toString();/ 获得登录用户的名称 if (username.equals(请选择) / 查看是否选择了登录用户 JOptionPane.showMessageDialog(null, 请选择

29、登录用户!, 友情提示, JOptionPane.INFORMATION_MESSAGE);/ 弹出提示 resetUsernameAndPassword();/ 恢复登录用户和登录密码 char passwords = passwordField.getPassword();/ 获得登录用户的密码 String inputPassword = turnCharsToString(passwords);/ 将密码从char型数组转换成字符串 if (username.equals(JAVA) / 查看是否为默认用户登录 if (inputPassword.equals(123456) / 查看密码是否为默认密码 land(null);/ 登录成功 String infos = 请立刻单击“用户管理”按钮添加用户!, 添加用户后需要重新登录,本系统才能正常使用! ;/ 组织提示信息 JOptionPane.showMessageDialog(null, infos, 友情提示, JOptionPane.INFORMATION_MESSAGE);/ 弹出提示 else / 密码错误 JOptionPane.showMessageDialog(null, 默认用户“TS

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1