📄 hotelframe.java
字号:
package com.sunshine.mainframe;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import java.util.*;
import com.sunshine.sunsdk.swing.*; //加入公共类库
import com.sunshine.sunsdk.system.*;
import com.sunshine.sunsdk.sql.*;
import com.sunshine.mainframe.*; //加入模块类库
import com.sunshine.individual.*; //散客开单
import com.sunshine.team.*; //团体开单
import com.sunshine.checkout.*; //宾客结帐
import com.sunshine.engage.*; //预订房间
import com.sunshine.query.*; //营业查询
import com.sunshine.customer.*; //客户管理
import com.sunshine.netsetup.*; //网络设置
import com.sunshine.setup.*; //系统设置
import com.sunshine.about.*; //关于我们
import com.sunshine.menu.*; //下拉菜单中的功能库
public class HotelFrame
extends JFrame
implements ActionListener, MouseListener, Runnable {
//用户名,权限
public static String userid, puil;
public static JLabel lbA, lbB;
public static String clue = " 提 示 : ";
public static String face = " 当前操作界面 : ";
//声名与菜单相关的类
private JMenuBar mb;
private JMenu m1, m2, m3, m4;
private JMenuItem mi11, mi12, mi13, mi14, mi15, mi16, mi17, mi18, mi19,
mi21, mi22, mi23, mi24, mi25,
mi31, mi32, mi33, mi34, mi35, mi36;
//工具栏
private JToolBar tb;
private JButton bt1, bt2, bt3, bt4, bt5, bt6, bt7, bt8, bt9, btA;
//分割面板
private JSplitPane spaneMain, spaneLeft, spaneRight;
//模块接口
private JPanel panelMain, bott, jp2, jp3, jp4;
private LeftTopPanel jp1; //主窗口左边面板
//功能提示
private String toolTip[] = {
"零散宾客入住登记 ",
"团体入住登记 ",
"关于本软件的支持信息 ",
"宾客退房结算 ",
"为宾客预订房间 ",
"查询营业情况 ",
"为酒店固定客户设置参数 ",
"设置系统的网络连接方式 ",
"设置系统参数 ",
"返回Windows "
};
//功能模块
/*#######################################################################*/
Individual idv = new Individual(this); //散客开单
Team tm = new Team(this); //团体开单
CheckOut co = new CheckOut(this); //宾客结帐
Engage eg = new Engage(this); //客房预定
Query qr = new Query(this); //营业查询
Customer ct = new Customer(this); //客户管理
NetSetup ns = new NetSetup(this); //网络设置
Setup st = new Setup(this); //系统设置
About ab = new About(this); //关于我们
GoOn go = new GoOn(this); //宾客续住
Change cg = new Change(this); //更换房间
// Remind rm = new Remind(this); //电子提醒
UniteBill ub = new UniteBill(this); //合并帐单
ApartBill ap = new ApartBill(this); //拆分帐单
Record rc = new Record(this); //系统日志
/*#######################################################################*/
//构造函数
public HotelFrame (String us, String pu) {
super ("阳光酒店管理系统 - ★★版");
userid = us; //获得操作员名称
puil = pu; //获得操作员权限
panelMain = new JPanel (new BorderLayout()); //主面板
//制作菜单
buildMenuBar ();
//制作工具栏
buildToolBar ();
//制作分割面板
buildSpaneMain ();
//制作窗口底端信息框
buildBott ();
//加入组件到主面板
panelMain.add ("North", tb); //加入工具栏
panelMain.add ("South", bott); //加入窗口底端信息框
panelMain.add ("Center", spaneMain); //加入分割面板
//加入菜单栏
this.setJMenuBar (mb);
//加事件监听
addListener ();
this.addWindowListener (new WindowAdapter () {
public void windowClosing (WindowEvent we) {
quit ();
}//End windowClosing
});
this.setContentPane (panelMain);
this.setBounds (2, 2, 1020, 740);
this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
this.setMinimumSize (new Dimension (1020, 740)); //设置窗口最小尺寸
this.setVisible (true);
(new Thread(this)).start(); //启动房间状态检查线程
}
//制作菜单
private void buildMenuBar () {
//实例菜单栏
mb = new JMenuBar ();
//实例菜单
m1 = new JMenu ("来宾登记 (B)");
m2 = new JMenu ("收银结算 (S)");
m3 = new JMenu ("系统维护 (W)");
//实例菜单项
mi11 = new JMenuItem ("散客开单 (G)");
mi12 = new JMenuItem ("团体开单 (M)");
mi13 = new JMenuItem ("宾客续住 (Z)");
mi14 = new JMenuItem ("更换房间 (A)");
mi15 = new JMenuItem ("修改登记 (J)");
mi16 = new JMenuItem ("房间状态 (Z)");
mi17 = new JMenuItem ("预订管理 (T)");
mi18 = new JMenuItem ("电子提醒 (L)");
mi19 = new JMenuItem ("退出系统 (X)");
mi21 = new JMenuItem ("宾客结帐 (J)");
mi22 = new JMenuItem ("合并帐单 (E)");
mi23 = new JMenuItem ("折分帐单 (F)");
mi24 = new JMenuItem ("宾客消费明细查询");
mi25 = new JMenuItem ("宾客退单明细查询");
mi31 = new JMenuItem ("网络设置 (N)");
mi32 = new JMenuItem ("系统设置 (X)");
mi33 = new JMenuItem ("系统日志 (Z)");
mi34 = new JMenuItem ("数据备份 (R)");
mi35 = new JMenuItem ("软件帮助 (H)");
mi36 = new JMenuItem ("关于我们 (A)");
///////////////////////////////////////////
mi16.setEnabled(false);//未开发完毕的功能
mi18.setEnabled(false);
mi34.setEnabled(false);
////////////////////////////////////////////
//组织菜单
m1.add (mi11); //来宾登记
m1.add (mi12);
m1.add (mi13);
m1.add (mi14);
m1.add (mi15);
m1.add (mi16);
m1.addSeparator();
m1.add (mi17);
m1.add (mi18);
m1.addSeparator();
m1.add (mi19);
m2.add (mi21); //收银结算
m2.add (mi22);
m2.add (mi23);
//m2.addSeparator();
//m2.add (mi24); //宾客消费明细
//m2.add (mi25);
m3.add (mi31); //系统维护
m3.add (mi32);
m3.add (mi33);
m3.addSeparator();
m3.add (mi34);
m3.addSeparator();
m3.add (mi35);
m3.add (mi36);
mb.add (m1); //加入菜单栏
mb.add (m2);
mb.add (m3);
}
//制作工具栏
private void buildToolBar () {
tb = new JToolBar();
//制作按键
bt1 = new TJButton ("pic/ToolBar/m01.gif", " 散客开单 ", "零散宾客入住登记", true);
bt2 = new TJButton ("pic/ToolBar/m02.gif", " 团体开单 ", "团体入住登记", true);
bt3 = new TJButton ("pic/ToolBar/m03.gif", " 关于我们 ", "软件信息", true);
bt4 = new TJButton ("pic/ToolBar/m04.gif", " 宾客结帐 ", "宾客退房结算", true);
bt5 = new TJButton ("pic/ToolBar/m05.gif", " 客房预订 ", "为宾客预定房间", true);
bt6 = new TJButton ("pic/ToolBar/m06.gif", " 营业查询 ", "查询营业情况", true);
bt7 = new TJButton ("pic/ToolBar/m07.gif", " 客户管理 ", "为酒店固定客户设置", true);
bt8 = new TJButton ("pic/ToolBar/m08.gif", " 网络设置 ", "设置连接方式", true);
bt9 = new TJButton ("pic/ToolBar/m09.gif", " 系统设置 ", "设置系统参数", true);
btA = new TJButton ("pic/ToolBar/m10.gif", " 退出系统 ", "返回Windows", true);
//把按键加入工具栏
tb.addSeparator ();
tb.add (bt1);
tb.add (bt2);
tb.addSeparator ();
tb.add (bt4);
tb.add (bt5);
tb.add (bt6);
tb.addSeparator ();
tb.add (bt7);
tb.add (bt8);
tb.add (bt9);
tb.addSeparator ();
tb.add (bt3);
tb.addSeparator ();
tb.add (btA);
//设置工具栏不可浮动
tb.setFloatable(false);
}
//制作主面板
private void buildSpaneMain () {
jp1 = new LeftTopPanel (); //这四个面板为功能接口//////////////
jp2 = new LeftBottPanel(); //左下面板 快速通道
jp3 = new RightTopPanel(); ///////////////////////////////
jp4 = new RightBottPanel(); //右下面板 消费信息表
//声名分割面板
spaneLeft = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jp1, jp2);
spaneRight = new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, jp3, jp4);
spaneMain = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true, spaneLeft, spaneRight);
//设置面板最小尺寸
jp1.setMinimumSize(new Dimension (157, 450));
jp2.setMinimumSize(new Dimension (157, 94));
jp3.setMinimumSize(new Dimension (875, 300));
jp4.setMinimumSize(new Dimension (875, 94));
spaneRight.setMinimumSize(new Dimension (875, 565));
//设置分割条是否有伸缩键
spaneMain.setOneTouchExpandable (true);
spaneRight.setOneTouchExpandable(true);
//设置各面板的初起尺寸
spaneMain.setDividerLocation (160);
spaneLeft.setDividerLocation (450);
spaneRight.setDividerLocation(450);
//设置分隔条宽度
spaneMain.setDividerSize (10);
spaneLeft.setDividerSize (23);
spaneRight.setDividerSize(23);
}
//制作bott栏
private void buildBott () {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -