⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guestcheckinframe.java

📁 一个KTV管理系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -