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

📄 reserveroomframe.java

📁 Java语言编写的员工信息管理系统
💻 JAVA
字号:
import java.awt.Color;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.Vector;
import javax.swing.JButton;

public class ReserveRoomFrame extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JTextField nameTextField = null;
	private JTextField entourageNumTextField = null;
	private JTextField arrivalDateTextField = null;
	private JButton OKButton = null;
	private JButton exitButton = null;
	private JPanel OtherInfoPanel = null;
	private JLabel nameLabel = null;
	private JLabel entourageNumLabel = null;	
	private JPanel blankRoomListPanel = null;
	private JPanel choosenRoomListPanel = null;
	private JLabel arrivalDateLabel = null;
	private JLabel blankHintLabel = null;
	private JLabel choosenHintLabel = null;

	
	 // 用表格来表示房间列表
	DefaultTableModel blankRoomModel = new DefaultTableModel();

	JTable blankRoomTable = new JTable(blankRoomModel);

	DefaultTableModel choosenRoomModel = new DefaultTableModel();

	JTable choosenRoomTable = new JTable(choosenRoomModel);
	//生成预订类,管理获取房间状态信息,更新数据库 
	ReserveRoom reserveRoom = new ReserveRoom();
	Vector blankRoomList=new Vector();
	Vector haveChoosenRoomList=new Vector();
	private JButton removeRoomButton = null;
	
	/**
	 * This is the default constructor
	 */
	public ReserveRoomFrame() {
		super();
		initialize();
		//从ReserveRoom类型对象获取房间状态信息   
		//设置从ReserveRoom类对象获取的信息: 房间状态信息
		//刚开始,reserveRoom.reserveInfo.choosenRoomList放的是空房间信息表
		Room room=new Room();
		blankRoomList=new Vector();
		blankRoomList = reserveRoom.getBlankRoomList();
		//将房间信息表放到那个Table中
		for(int i=0;i<blankRoomList.size();i++)
		{
			room=(Room)blankRoomList.get(i);
			
			blankRoomModel.addRow(new Object[]{ room.id.toString().trim(),
							room.roomClass.toString().trim(),
							Integer.toString(room.fee)					
					 		});	
		}
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(310, 307);
		this.setName("ReserveRoomFrame");
		this.setContentPane(getJContentPane());
		this.setTitle("预定");
		
		JScrollPane blanktablescrollpane = new JScrollPane(blankRoomTable);
		blankRoomListPanel.add(blanktablescrollpane);
		blankRoomListPanel.add(blanktablescrollpane);
		JScrollPane choosentablescrollpane = new JScrollPane(choosenRoomTable);
		choosenRoomListPanel.add(choosentablescrollpane);
		choosenRoomListPanel.add(choosentablescrollpane);
		// ///////////////////////////////////////////
		blankRoomModel.addColumn("房号");
		blankRoomModel.addColumn("类别");
		blankRoomModel.addColumn("价格");
		blankRoomTable.setPreferredScrollableViewportSize(new Dimension(170,
				150));
		blankRoomTable.setBackground(new Color(255, 255, 210));
		blankRoomTable.setRowHeight(20);
		blankRoomTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);

		// ////////////////////////////////////////// /
		choosenRoomModel.addColumn("房号");
		choosenRoomModel.addColumn("类别");
		choosenRoomTable.setPreferredScrollableViewportSize(new Dimension(110,
				150));
		choosenRoomTable.setBackground(new Color(255, 255, 210));
		choosenRoomTable.setRowHeight(20);
		choosenRoomTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
		// ////////////////////////////////////////////////	
		//表鼠标双击事件处理		
	    blankRoomTable.addMouseListener(new java.awt.event.MouseAdapter(){
	    	public void mousePressed(MouseEvent e) {
	        	if(e.getSource()==blankRoomTable)
	  	 		{  
	  	 			if(e.getClickCount()==2)		//鼠标双击
	  	 			{
	  	 				System.out.println("鼠标双击事件处理");
	  	 				addRoomToChoosenList_doubleClick(e);
	  	 				blankRoomTable.setFocusable(false);
	  	      		}
	  	      	
	  	 		}
	      	}
	    });	
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getOtherInfoPanel(), null);
			jContentPane.add(getBlankRoomListPanel(), null);
			jContentPane.add(getChoosenRoomListPanel(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes nameTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNameTextField() {
		if (nameTextField == null) {
			nameTextField = new JTextField();
			nameTextField.setBounds(new java.awt.Rectangle(80,8,83,22));
		}
		return nameTextField;
	}

	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getEntourageNumTextField() {
		if (entourageNumTextField == null) {
			entourageNumTextField = new JTextField();
			entourageNumTextField.setBounds(new java.awt.Rectangle(80,38,83,22));
		}
		return entourageNumTextField;
	}

	/**
	 * This method initializes jTextField	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getArrivalDateTextField() {
		if (arrivalDateTextField == null) {
			arrivalDateTextField = new JTextField();
			arrivalDateTextField.setBounds(new java.awt.Rectangle(80,68,83,22));
		}
		return arrivalDateTextField;
	}

	/**
	 * This method initializes OKButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getOKButton() {
		if (OKButton == null) {
			OKButton = new JButton();
			OKButton.setText("确定");
			OKButton.setBounds(new java.awt.Rectangle(197,11,64,22));
			OKButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					newReserveInfo();
				}
			});
		}
		return OKButton;
	}

	/**
	 * This method initializes exitButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getExitButton() {
		if (exitButton == null) {
			exitButton = new JButton();
			exitButton.setText("返回");
			exitButton.setBounds(new java.awt.Rectangle(196,73,67,18));
		}
		return exitButton;
	}

	/**
	 * This method initializes OtherInfoPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getOtherInfoPanel() {
		if (OtherInfoPanel == null) {
			arrivalDateLabel = new JLabel();
			arrivalDateLabel.setBounds(new java.awt.Rectangle(14,69,57,18));
			arrivalDateLabel.setText("预到日期");
			entourageNumLabel = new JLabel();
			entourageNumLabel.setBounds(new java.awt.Rectangle(45,40,26,18));
			entourageNumLabel.setText("人数");
			nameLabel = new JLabel();
			nameLabel.setBounds(new java.awt.Rectangle(45,11,26,18));
			nameLabel.setText("姓名");
			OtherInfoPanel = new JPanel();
			OtherInfoPanel.setLayout(null);
			OtherInfoPanel.setBounds(new java.awt.Rectangle(7,165,290,100));
			OtherInfoPanel.setBackground(java.awt.Color.pink);
			OtherInfoPanel.add(getOKButton(), null);
			OtherInfoPanel.add(getExitButton(), null);
			OtherInfoPanel.add(getNameTextField(), null);
			OtherInfoPanel.add(getArrivalDateTextField(), null);
			OtherInfoPanel.add(getEntourageNumTextField(), null);
			OtherInfoPanel.add(nameLabel, null);
			OtherInfoPanel.add(entourageNumLabel, null);
			OtherInfoPanel.add(arrivalDateLabel, null);
			OtherInfoPanel.add(getRemoveRoomButton(), null);
			OtherInfoPanel.add(arrivalDateLabel, null);
		}
		return OtherInfoPanel;
	}

	/**
	 * This method initializes blankRoomListPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getBlankRoomListPanel() {
		if (blankRoomListPanel == null) {
			blankHintLabel = new JLabel();
			blankHintLabel.setText("可以选择的房间");
			blankRoomListPanel = new JPanel();
			blankRoomListPanel.setBounds(new java.awt.Rectangle(9,9,163,148));
			blankRoomListPanel.setBackground(java.awt.Color.pink);
			blankRoomListPanel.add(blankHintLabel, null);
		}
		return blankRoomListPanel;
	}

	/**
	 * This method initializes choosenRoomListPanel	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getChoosenRoomListPanel() {
		if (choosenRoomListPanel == null) {
			choosenHintLabel = new JLabel();
			choosenHintLabel.setText("已经选择的房间");
			choosenRoomListPanel = new JPanel();
			choosenRoomListPanel.setBounds(new java.awt.Rectangle(180,12,110,144));
			choosenRoomListPanel.setBackground(java.awt.Color.pink);
			choosenRoomListPanel.add(choosenHintLabel, null);
		}
		return choosenRoomListPanel;
	}
	
////////////////////////////////////////////////////////////
	void addRoomToChoosenList_doubleClick(MouseEvent e) {

		int index = blankRoomTable.getSelectedRow();
		System.out.println("你选择了数组的位置为" + index);
		//如果没有选中元素,则不作处理 
		if (index == -1)
			return;
		Room room = new Room();
		room = (Room) blankRoomList.get(index);
		//检查列表,如果已经加入进去了,就不再加,否则,就要	 
		//将房间信息表放到ChoosenRoomListTable中  
		if (haveChoosenRoomList.size() > 0) {
			int i = 0;
			do {
				Room roomtemp = new Room();
				roomtemp = (Room) haveChoosenRoomList.get(i);
				//找到已经加入了
				if (room.id.equals(roomtemp.id))
					return;
				i++;
			} while (i < haveChoosenRoomList.size());
		}

		haveChoosenRoomList.addElement(room);

		choosenRoomModel.addRow(new Object[] {
				room.id.toString().trim(),
				room.roomClass.toString().trim() });
	}
	private void newReserveInfo(){
		//保存预订信息.退出该界
		// 保存预订信息到reserveRoom.reserveInfo中
		// 处理非法输入
		try {// Integer.parseInt(string)然后catch
				// NumberFormatException,
			// 如果没有触发Exception,那就是数字了
			int checkNumIsInt = Integer.parseInt(entourageNumTextField
					.getText().toString().trim());
			reserveRoom.reserveInfo.reserveGuest.entourageNum=checkNumIsInt;			
		} catch (NumberFormatException nfe) {
			JOptionPane.showMessageDialog(null, "输入错误,请重新输入!",
					"ok", JOptionPane.ERROR_MESSAGE);
			return;
		}

		// 判断名字不能含有数字
		String name = nameTextField.getText().toString().trim();
		if (name.trim().equals("")) {
			JOptionPane.showMessageDialog(null, "名字不能为空!", "ok",
					JOptionPane.ERROR_MESSAGE);
			return;
		}
		// 处理没有预定房间
		if (haveChoosenRoomList.size() == 0) {
			JOptionPane.showMessageDialog(null, "没有预定房间", "ok",
					JOptionPane.ERROR_MESSAGE);
			return;
		}

		reserveRoom.reserveInfo.reserveGuest.name=name;
			
		reserveRoom.reserveInfo.reserveGuest.ArrivalDate=arrivalDateTextField
				.getText().toString().trim();
		
		//String staffId="S1";	//暂时不处理, 取guest的默认值
		reserveRoom.reserveInfo.roomList=haveChoosenRoomList;
		
		reserveRoom.newReserveInfo();
		reserveRoom.reserveInfo.printReservationInfo();
		dispose();
	}

	/**
	 * This method initializes jButton	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getRemoveRoomButton() {
		if (removeRoomButton == null) {
			removeRoomButton = new JButton();
			removeRoomButton.setBounds(new java.awt.Rectangle(201,47,60,28));
			removeRoomButton.setText("取消");
			removeRoomButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					removeRoomfromChoosenList();
				}
			});
		}
		return removeRoomButton;
	}
	private void removeRoomfromChoosenList() {

		int index = choosenRoomTable.getSelectedRow();		
		// 如果没有选中元素,则不作处理
		if (index == -1)
			return;
		///////////////////////////////////////
		choosenRoomModel.removeRow(index);
		haveChoosenRoomList.remove(index);
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -