当前位置:首页 > 酒店管理系统毕业设计
4.4.2 登录和系统界面
? 采用swing技术设计出登陆窗体,主要有登录名框,密码框,和两个
按钮组成,界面友好简洁,
? 系统主窗体设计以容器,面板方式嵌套组合,主要本着简单易懂,界
面友好为原则,充分体现操作性实用性的特点。
17
4.4.3 数据库连接
采用myeclicps和sqlserver2005的连接方式,在使用数据库之前应注意以下问题,安装数据库驱动应为1.2版本以上,而且要确保TCP/IP端口协议开启。
创建5个私有静态变量加载和连接数据库,其中threadlocal用来保存已经创建的数据库连接。
private static final String DRIVERCLASS = \;
private static final String PASSWORD = \; private static final String USERNAME = \; private static final String URL =
\;
此处为加载数据库驱动:
private static final ThreadLocal
18
Class.forName(DRIVERCLASS).newInstance();// 加载数据库驱动 } catch (Exception e) {
e.printStackTrace();}}
此处连接数据库方法:
public static Connection getConnection() {// 创建数据库连接的方法
Connection conn = threadLocal.get();// 从线程中获得数据库连接 if (conn == null) {// 没有可用的数据库连接 try { }
conn = DriverManager.getConnection(URL, USERNAME,
PASSWORD);// 创建新的数据库连接
threadLocal.set(conn);// 将数据库连接保存到线程中 } catch (SQLException e) { }
e.printStackTrace();
return conn;// 返回数据库连接 }
此处为关闭数据库:
public static boolean closeConnection() {// 关闭数据库连接的方法 }
boolean isClosed = true;// 默认关闭成功
Connection conn = threadLocal.get();// 从线程中获得数据库连接 if (conn != null) {// 数据库连接可用 }
return isClosed;// 返回关闭结果
threadLocal.set(null);// 清空线程中的数据库连接 try {
conn.close();// 关闭数据库连接 } catch (SQLException e) { }
isClosed = false;// 关闭失败 e.printStackTrace();
4.4.3前台服务模块
前台服务模块主要分为,开台签单,点菜签单,自动结账功能,以人
性化,简易化为原则,增加了系统的可操作性,例如,开台点菜功能中有助记码
19
可方便前台进行快捷输入菜品名称,如红烧肉助记码为hsr,输入一个或全部字母即可出来菜品名。用自动结帐功能系统可自动显示应付金额和要找金额。从而避免因忙碌和繁杂的事物和数据造成的过失。 a 开台查看实现
在客户需要服务时选中所开台号,然后点开单即可进行点菜等服务操作,主窗体上部显示签单列表,开台列表,分别对台号,和账单进行显示,在主界面中图示如下
当在“台号”下拉框中选中已经开台的台号时,开台列表中该台号所在的行也将被选中,同时在签单列表中将列出该餐台消费的所有项目,效果如上图所示。 如果在“台号”下拉框中选中尚未开台的台号时,在开台列表中将不选中任何行,并且在签单列表中将没有任何项目, 实现“台号”代码如下:
final JLabel numLabel = new JLabel(); // 创建“台号”标签 numLabel.setText(\台号:\); // 设置标签文本 orderDishesPanel.add(numLabel);
numComboBox = new JComboBox(); // 创建台号选择框
numComboBox.setNextFocusableComponent(codeTextField); // 设置下一个
initNumComboBox(); // 初始化台号选择框
numComboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int rowCount = rightTable.getRowCount(); // 获得已开台数 if (rowCount == 0) // 没有开台
20
将要获得焦点的组件
共分享92篇相关文档