📄 eindividual.java
字号:
/**
*##############################################################################
*
* [ 项目名 ] : 阳光酒店管理系统
* [ 公司名 ] : 清华IT
* [ 模块名 ] : 散客开单窗口
* [ 文件名 ] : Eindividual.java
* [ 相关文件 ] :
* [ 文件实现功能] : 普通宾客开设房间窗口
* [ 作者 ] : 董丰
* [ 版本 ] : 1.1
* ----------------------------------------------------------------------------
* [ 备注 ] :
* ----------------------------------------------------------------------------
* [ 修改记录 ] :
*
* [ 日 期 ] [版本] [修改人] [修改内容]
* 2006/04/22 1.0 董丰 创建
* 2006/04/26 1.1 顾俊 完成功能
* ##--------------------------------------------------------------------------
* 版权所有(c) 2006-2007, SunshineSOFT Corporation
* --------------------------------------------------------------------------##
*
* [ 函数说明 ] :
*
* [## public Eindividual(JFrame frame) {} ]:
* 功能: 散客开单窗口
*
* [## private void addListener() {} ]:
* 功能: 加事件监听
*
* [## private void buildPanel() {} ]:
* 功能: 制作主面板
*
* [## private void initDTM1() {} ]:
* 功能: 初始化可供房间列表
*
* [## private void initDTM2() {} ]:
* 功能: 初始化开单房间列表
*
* [## private void addRoom() {} ]:
* 功能: 加到开单区
*
* [## private void subRoom() {} ]:
* 功能: 从开单区移除
*
* [## private boolean isValidity() {} ]:
* 功能: 测试用户输入的数据是否合法
*
* [## private void saveLiveIn() {} ]:
* 功能: 保存宾客入住信息
*
* [ 遗留问题 ] :
*
*##############################################################################
*/
package com.sunshine.engage;
import javax.swing.*;
import java.awt.*;
import javax.swing.border.*;
import javax.swing.table.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import com.sunshine.sunsdk.sql.*; //公共类库
import com.sunshine.sunsdk.swing.*;
import com.sunshine.sunsdk.system.*;
import com.sunshine.mainframe.*; //主框架窗口
public class Eindividual
extends JDialog
implements ActionListener, MouseListener {
public JLabel lbA, lbB, lbC; //主客房间,房间类型,预设单价
public JComboBox cb2; //宾客类型
public JCheckBox chk1; //钟点房否
public DefaultTableModel dtm1, dtm2; //可供房间号列表的DTM
private JPanel panelMain;
private JTable tb1, tb2;
private JScrollPane sp1, sp2;
private JComboBox cb1, cb3;
//证件类型, 性别
private JCheckBox chk2;
//到预住天数提醒
public JTextField tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8, tf9, tf;
//证件码,主客,人数,地址,备注,折扣,实价,天数,押金,标题
private JButton bt1, bt2, bt3, bt4;
//确定,取消,添加,移除
private JTabbedPane tp;
String cType; //宾客类型编号
String roomType = ""; //房间类型
private double disPrice = 0; //折扣价
private int zRooms = 0; //追加客房计数器
/**=======================================================================**
* [## public EiIndividual(JFrame frame) {} ]: 构造函数
* 参数 :JFrame frame表示本对话框的父窗口
* 返回值 :无
* 修饰符 :public
* 功能 :散客开单窗口
**=======================================================================**
*/
public Eindividual(JDialog dialog) {
super (dialog, "预订开单", true);
panelMain = new JPanel(new BorderLayout()); //主面板为边界布局,确定取消按钮放South
buildPanel();
addListener();
this.setContentPane(panelMain);
this.setPreferredSize (new Dimension (530,510));
this.setMinimumSize (new Dimension (530, 510));
this.setResizable(false); //不允许改变窗口大小
pack();
sunswing.setWindowCenter(this); //窗口屏幕居中
}
/**=======================================================================**
* [## private void addListener() {} ]:
* 参数 :无
* 返回值 :无
* 修饰符 :private
* 功能 :加事件监听
**=======================================================================**
*/
private void addListener() {
tf1.addActionListener(this);
tf2.addActionListener(this);
tf3.addActionListener(this);
tf4.addActionListener(this);
tf5.addActionListener(this);
tf8.addActionListener(this);
cb2.addActionListener(this);
bt1.addActionListener(this);
bt2.addActionListener(this);
bt3.addActionListener(this);
bt4.addActionListener(this);
bt1.addMouseListener(this);
bt2.addMouseListener(this);
bt3.addMouseListener(this);
bt4.addMouseListener(this);
}
/**=======================================================================**
* [## private void buildPanel() {} ]:
* 参数 :无
* 返回值 :无
* 修饰符 :private
* 功能 :制作面板
**=======================================================================**
*/
private void buildPanel() {
JLabel lb0, lb1, lb2, lb3, lb4, lb5, lb6, lb7, lb8, lb9, lb10, lb11,
lb12, lb13, lb14, lb15;
lb0 = new JLabel("主客房间:");
lb1 = new JLabel("房间类型:");
lb2 = new JLabel(" 预设单价:");
lb3 = new JLabel("证件类型:");
lb4 = new JLabel(" 证件编码:");
lb5 = new JLabel(" 主客性别:");
lb6 = new JLabel("宾客类型:");
lb7 = new JLabel(" 主客姓名:");
lb8 = new JLabel(" 宾客人数:");
lb9 = new JLabel("地址信息:");
lb10 = new JLabel("备注信息:");
lb11 = new JLabel("折扣比例:");
lb12 = new JLabel(" 实际单价:");
lb13 = new JLabel(" 预住天数:");
lb14 = new JLabel(" 实收押金:");
lb15 = new JLabel(" 注:只能追加同类房间,最多4间!若要追加不同类型的房间请选择“团体开单”");
lbA = new JLabel("BD1001");///////////////////////////////////////////
lbB = new JLabel("标准单人间 ");///////////////////////////////////////////
lbC = new JLabel("150.00");///////////////////////////////////////////
//下拉列表
cb1 = new JComboBox();
cb1.addItem("身份证");
cb1.addItem("驾驶证");
cb1.addItem("学生证");
cb1.addItem("军官证");
cb1.addItem("护照");
cb1.addItem("其他");
//宾客类型
cb2 = new JComboBox();
cb3 = new JComboBox();
cb3.addItem("男 ");
cb3.addItem("女 ");
//文本框
tf1 = new TJTextField(10);
tf2 = new TJTextField(10);
tf3 = new TJTextField("1", 6);
tf4 = new TJTextField(40);
tf5 = new TJTextField(40);
tf6 = new JTextField(3);
tf7 = new JTextField("¥0.00", 6);
tf8 = new TJTextField("1", 4);
tf9 = new TJMoneyField();
tf = new JTextField("开单信息");
tf6.setEditable(false);
tf7.setEditable(false);
tf3.setHorizontalAlignment (JTextField.RIGHT);
tf6.setHorizontalAlignment (JTextField.RIGHT);
tf7.setHorizontalAlignment (JTextField.RIGHT);
tf8.setHorizontalAlignment (JTextField.RIGHT);
tf.setHorizontalAlignment (JTextField.CENTER);
tf.setBackground(new Color(199, 183, 143));
tf.setBorder(new LineBorder(new Color(87, 87, 47)));
tf.setEditable(false);
//多选钮
chk1 = new JCheckBox(" 钟点房");
chk2 = new JCheckBox(" 到预住天数时自动提醒");
//按钮
bt1 = new TJButton("pic/modi3.gif", " 确 定 ", "开单");
bt2 = new TJButton("pic/cancel.gif"," 取 消 ", "取消开单");
bt3 = new TJButton("pic/right.gif", "", "添加到开单区");
bt4 = new TJButton("pic/left.gif", "", "从开单区删除");
bt3.setBorderPainted(false); //无外框
bt4.setBorderPainted(false);
bt3.setFocusPainted(false); //无焦点框
bt4.setFocusPainted(false);
bt3.setContentAreaFilled(false);//设置透明色
bt4.setContentAreaFilled(false);
//面板
JPanel ps, pc, pcc, pcc1, pcc11, pcc12, pcc13,
pcc2, pcc21, pcc22, pcd1, pcc23, pcc24, pcd2, pcc25, pcc26, pcd3,
pcc3, pcc31, pcc32,
pcc4, pcc41, pcc42, pcc43, pcc44,
pcc5, pcc6, pcc7;
JLabel line0 = new JLabel(new ImageIcon("pic/line5.gif"));//分隔线
JLabel line1 = new JLabel(new ImageIcon("pic/line4.gif"));//分隔线
JLabel line2 = new JLabel(new ImageIcon("pic/line4.gif"));//分隔线
ps = new JPanel(new FlowLayout(FlowLayout.CENTER,50,5)); //放置确定和取消按钮
pc = new JPanel(new BorderLayout(0,5)); //放置按钮以上的部分
pcc = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0)); //开单信息文本框为不可编辑,放在North,其他放在流布局的面板中
pcc1 = new JPanel(new GridLayout(1, 3)); //放置"主客房间,房间类型,预设单价"...一行
pcc11 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0)); //放置主客房间
pcc12 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0)); //放置房间类型
pcc13 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,0)); //放置预设单价
pcc2 = new JPanel(new FlowLayout(FlowLayout.LEFT,10,3)); //放置"证件类型...,宾客类型..."两行
pcc21 = new JPanel(new GridLayout(2,1,5,6));//放置证件类型,宾客类型
pcc22 = new JPanel(new GridLayout(2,1,5,6));//放置证件类型,宾客类型下拉框
pcd1 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置pcc21,pcc22
pcc23 = new JPanel(new GridLayout(2,1,5,6));//放置证件编码,主客姓名
pcc24 = new JPanel(new GridLayout(2,1,5,6));//放置证件编码,主客姓名文本框
pcd2 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置pcc23,pcc24
pcc25 = new JPanel(new GridLayout(2,1,5,6));//放置主客性别,宾客人数
pcc26 = new JPanel(new GridLayout(2,1,5,6));//放置主客性别下拉框,宾客人数文本框
pcd3 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置pcc25,pcc26
pcc3 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,3)); //放置"地址信息,备注信息"两行
pcc31 = new JPanel(new GridLayout(2,1,0,6));//放置地址信息,备注信息
pcc32 = new JPanel(new GridLayout(2,1,0,6));//放置地址信息,备注信息文本框
pcc4 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,3));//放置"打折比例,实际单价,预住天数,实收押金"一行
pcc41 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置打折比例
pcc42 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置实际单价
pcc43 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置预住天数
pcc44 = new JPanel(new FlowLayout(FlowLayout.CENTER,0,0));//放置实收押金
pcc5 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,3)); //放置两个chk
pcc6 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,3)); //放置tp
pcc7 = new JPanel(new FlowLayout(FlowLayout.LEFT,0,3)); //放置"注:......."
pcc11.add(lb0);
pcc11.add(lbA);
pcc12.add(lb1);
pcc12.add(lbB);
pcc13.add(lb2);
pcc13.add(lbC);
pcc1.add(pcc11);
pcc1.add(pcc12);
pcc1.add(pcc13);
lbA.setFont(new Font("宋体",Font.BOLD,15));
lbA.setForeground(Color.BLUE);
lbB.setFont(new Font("宋体",Font.BOLD,15));
lbB.setForeground(Color.BLUE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -