📄 guestcheckinframe.java
字号:
package view.mainframe.guestregister.guestcheckinframe;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Calendar;
import java.util.Iterator;
import java.util.Vector;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import view.mainframe.MainFrame;
import vo.ConsumedTypeInfo;
import vo.GuestConsumedInfo;
import vo.Room;
import common.checkinputvalue.Check;
import common.currenttime.JLabelTime1;
import dao.consumeddao.ConsumedTypeSettingDao;
import dao.consumeddao.GuestConsumedDao;
import dao.reservation.ReservationDao;
import dao.roomsetting.RoomSettingDao;
import javax.swing.JTextArea;
//宾客开房界面
public class GuestCheckInFrame extends JFrame implements ActionListener {
private static GuestCheckInFrame instance = null;
private JPanel jContentPane = null;
private JPanel roompanel = null;
private JLabel roomnumberlabel = null;
private JLabel roomnamelabel = null;
private JLabel roomtypelabel = null;
private JLabel roompricelabel = null;
private JPanel guestinfopanel = null;
private JLabel guestnamelabel = null;
private JLabel guestidlabel = null;
private JLabel guestcheckintimelabel = null;
private JLabel guestcheckouttimelabel = null;
private JLabel consumedtypenamelabel = null;
private JLabel consumedidlabel = null;
private JLabel depositlabel = null;
private JButton okbutton = null;
private JTextField roomNumberTextField = null;
private JTextField roomNameTextField = null;
private JTextField roomTypeTextField = null;
private JTextField roomPriceTextField = null;
private JTextField guestNameTextField = null;
private JTextField guestIdTextField = null;
private JTextField guestCheckOutTimeTextField = null;
private JComboBox consumedTypeNameComboBox = null;
private JTextField consumedIdTextField = null;
private JTextField depositTextField = null;
private Calendar time = null;
private JLabel feelabel = null;
private JLabel rebatelabel = null;
private JTextField rebateTextField = null;
private JTextField feeTextField = null;
private JLabel CheckInTimeLabel = null;
private JButton escButton = null;
private JLabel gcitLabel = null;
// 测试顾客开单
public static void main(String[] args) {
GuestCheckInFrame ff = new GuestCheckInFrame();
}
// 单子设计模式,参数为房间号
public static GuestCheckInFrame getInstance(String roomNumber,
String guestName) {
if (instance == null) {
instance = new GuestCheckInFrame();
}
Room r = getARoom(roomNumber);
// 初始化与房间相关的TextField信息
instance.roomNumberTextField.setText(r.getRoomNumber().trim());
instance.roomNameTextField.setText(r.getRoomName().trim());
instance.roomTypeTextField.setText(r.getRoomType().trim());
instance.roomPriceTextField.setText(String.valueOf(r.getRoomPrice()));
instance.guestNameTextField.setText(guestName);
String systemtime = new JLabelTime1()
.getCurrTime("yyyy-MM-dd HH:mm:ss");
instance.guestCheckOutTimeTextField.setText(systemtime);
instance.consumedIdTextField.setText(systemtime.substring(0, 4)
+ systemtime.substring(5, 7) + systemtime.substring(8, 10)
+ systemtime.substring(11, 13) + systemtime.substring(14, 16)
+ systemtime.substring(17, 19));
instance.okbutton.setEnabled(true);
instance.gcitLabel.setText("");
instance.gcitLabel.setVisible(true);
instance.CheckInTimeLabel.setVisible(true);
instance.setVisible(true);
return instance;
}
// 单子设计模式,参数为房间号
public static GuestCheckInFrame getInstance(String roomNumber) {
if (instance == null) {
instance = new GuestCheckInFrame();
}
Room r = getARoom(roomNumber);
// 初始化与房间相关的TextField信息
instance.roomNumberTextField.setText(r.getRoomNumber().trim());
instance.roomNameTextField.setText(r.getRoomName().trim());
instance.roomTypeTextField.setText(r.getRoomType().trim());
instance.roomPriceTextField.setText(String.valueOf(r.getRoomPrice()));
String systemtime = new JLabelTime1()
.getCurrTime("yyyy-MM-dd HH:mm:ss");
instance.guestCheckOutTimeTextField.setText(systemtime);
instance.consumedIdTextField.setText(systemtime.substring(0, 4)
+ systemtime.substring(5, 7) + systemtime.substring(8, 10)
+ systemtime.substring(11, 13) + systemtime.substring(14, 16)
+ systemtime.substring(17, 19));
instance.CheckInTimeLabel.setVisible(true);
instance.gcitLabel.setText("");
instance.gcitLabel.setVisible(true);
instance.setVisible(true);
instance.okbutton.setEnabled(true);
return instance;
}
// 设置窗口为居中位置
private void setWindowLocation(Window w) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension windowSize = w.getSize();
w.setBounds((int) (screenSize.getWidth() - windowSize.getWidth()) / 2,
(int) (screenSize.getHeight() - windowSize.getHeight()) / 2,
(int) windowSize.getWidth(), (int) windowSize.getHeight());
}
/**
* This is the default constructor
*/
private GuestCheckInFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(657, 493);
time = Calendar.getInstance();
this.setContentPane(getJContentPane());
this.setTitle("宾客开房");
setWindowLocation(this);
this.setResizable(false);
try {
UIManager.setLookAndFeel("com.nilo.plaf.nimrod.NimRODLookAndFeel");
// UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
// UIManager
// .setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
// UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);
// f.pack();
this.setVisible(true);
} catch (Exception el) {
System.out.println("Look and Feel Exception");
System.exit(0);
}
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
GuestCheckInFrame temp = (GuestCheckInFrame) e.getWindow();
temp.setVisible(false);
// 关闭窗口时,清空可编辑区域
temp.guestNameTextField.setText("");
temp.guestIdTextField.setText("");
temp.depositTextField.setText("");
temp.rebateTextField.setText("");
temp.feeTextField.setText("");
temp.dispose();
MainFrame.getInstance().refresh();
}
});
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
rebatelabel = new JLabel();
rebatelabel.setBounds(new java.awt.Rectangle(140, 360, 90, 30));
rebatelabel.setText("包间费用");
feelabel = new JLabel();
feelabel.setBounds(new java.awt.Rectangle(30, 360, 90, 30));
feelabel.setText("折扣");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getRoom_panel(), null);
jContentPane.add(getGuest_info_panel(), null);
jContentPane.add(getOkbutton(), null);
jContentPane.add(feelabel, null);
jContentPane.add(rebatelabel, null);
jContentPane.add(getRebateTextField(), null);
jContentPane.add(getFeeTextField(), null);
jContentPane.add(getEscButton(), null);
}
return jContentPane;
}
/**
* This method initializes room_panel
*
* @return javax.swing.JPanel
*/
private JPanel getRoom_panel() {
if (roompanel == null) {
roompricelabel = new JLabel();
roompricelabel.setBounds(new java.awt.Rectangle(275, 76, 100, 30));
roompricelabel.setText("包间每小时费用");
roomtypelabel = new JLabel();
roomtypelabel.setBounds(new java.awt.Rectangle(65, 76, 100, 30));
roomtypelabel.setText("包间类型");
roomnamelabel = new JLabel();
roomnamelabel.setBounds(new java.awt.Rectangle(275, 17, 100, 30));
roomnamelabel.setText("包间名字");
roomnumberlabel = new JLabel();
roomnumberlabel.setText("包间号");
roomnumberlabel.setBounds(new java.awt.Rectangle(65, 17, 100, 30));
roompanel = new JPanel();
roompanel.setLayout(null);
roompanel.setBounds(new java.awt.Rectangle(0, 0, 649, 112));
roompanel.add(roomnumberlabel, null);
roompanel.add(roomnamelabel, null);
roompanel.add(roomtypelabel, null);
roompanel.add(roompricelabel, null);
roompanel.add(getRoomNumberTextField(), null);
roompanel.add(getRoomNameTextField(), null);
roompanel.add(getRoomTypeTextField(), null);
roompanel.add(getRoomPriceTextField(), null);
}
return roompanel;
}
/**
* This method initializes guest_info_panel
*
* @return javax.swing.JPanel
*/
private JPanel getGuest_info_panel() {
if (guestinfopanel == null) {
gcitLabel = new JLabel();
gcitLabel.setBounds(new java.awt.Rectangle(140, 85, 120, 30));
gcitLabel.setText("");
CheckInTimeLabel = new JLabelTime1("");
CheckInTimeLabel
.setBounds(new java.awt.Rectangle(140, 85, 120, 30));
CheckInTimeLabel.setFont(new java.awt.Font("Default",
java.awt.Font.BOLD, 12));
depositlabel = new JLabel();
depositlabel.setBounds(new java.awt.Rectangle(300, 140, 90, 30));
depositlabel.setText("押金");
consumedidlabel = new JLabel();
consumedidlabel.setBounds(new java.awt.Rectangle(30, 195, 90, 30));
consumedidlabel.setText("KTV流水号");
consumedtypenamelabel = new JLabel();
consumedtypenamelabel.setBounds(new java.awt.Rectangle(30, 140, 90,
30));
consumedtypenamelabel.setText("消费类型");
guestcheckouttimelabel = new JLabel();
guestcheckouttimelabel.setBounds(new java.awt.Rectangle(300, 85,
90, 30));
guestcheckouttimelabel.setText("结账时间");
guestcheckintimelabel = new JLabel();
guestcheckintimelabel.setBounds(new java.awt.Rectangle(30, 85, 90,
30));
guestcheckintimelabel.setText("开房时间");
guestidlabel = new JLabel();
guestidlabel.setBounds(new java.awt.Rectangle(300, 30, 90, 30));
guestidlabel.setText("宾客身份证号");
guestnamelabel = new JLabel();
guestnamelabel.setBounds(new java.awt.Rectangle(30, 30, 90, 30));
guestnamelabel.setText("宾客姓名");
guestinfopanel = new JPanel();
guestinfopanel.setLayout(null);
guestinfopanel.setBounds(new java.awt.Rectangle(1, 113, 649, 236));
guestinfopanel.add(guestnamelabel, null);
guestinfopanel.add(guestidlabel, null);
guestinfopanel.add(guestcheckintimelabel, null);
guestinfopanel.add(guestcheckouttimelabel, null);
guestinfopanel.add(consumedtypenamelabel, null);
guestinfopanel.add(consumedidlabel, null);
guestinfopanel.add(depositlabel, null);
guestinfopanel.add(getGuestNameTextField(), null);
guestinfopanel.add(getTextField(), null);
guestinfopanel.add(getGuestCheckOutTimeTextField(), null);
guestinfopanel.add(getConsumedTypeNameComboBox(), null);
guestinfopanel.add(getConsumedIdTextField(), null);
guestinfopanel.add(getDepositTextField(), null);
guestinfopanel.add(CheckInTimeLabel, null);
guestinfopanel.add(gcitLabel, null);
}
return guestinfopanel;
}
/**
* This method initializes okbutton
*
* @return javax.swing.JButton
*/
private JButton getOkbutton() {
if (okbutton == null) {
okbutton = new JButton("开房确定");
okbutton.setBounds(new java.awt.Rectangle(300, 360, 90, 30));
okbutton.addActionListener(this);
}
return okbutton;
}
/**
* This method initializes roomNumberTextField
*
* @return javax.swing.JTextField
*/
private JTextField getRoomNumberTextField() {
if (roomNumberTextField == null) {
roomNumberTextField = new JTextField();
roomNumberTextField.setEditable(false);
roomNumberTextField.setBounds(new java.awt.Rectangle(180, 17, 70,
30));
}
return roomNumberTextField;
}
/**
* This method initializes roomNameTextField
*
* @return javax.swing.JTextField
*/
private JTextField getRoomNameTextField() {
if (roomNameTextField == null) {
roomNameTextField = new JTextField();
roomNameTextField.setEditable(false);
roomNameTextField
.setBounds(new java.awt.Rectangle(390, 17, 100, 30));
}
return roomNameTextField;
}
/**
* This method initializes roomTypeTextField
*
* @return javax.swing.JTextField
*/
private JTextField getRoomTypeTextField() {
if (roomTypeTextField == null) {
roomTypeTextField = new JTextField();
roomTypeTextField.setEditable(false);
roomTypeTextField
.setBounds(new java.awt.Rectangle(180, 76, 70, 30));
}
return roomTypeTextField;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -