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

📄 undoreserveframe.java

📁 java酒店管理系统
💻 JAVA
字号:
package myprojects.reserve; 	//预订&取消预订放在一个包中;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.AbstractTableModel;
import javax.swing.event.*;
import java.util.*;
import javax.swing.table.*;
import java.io.*;
//-----------------导入自定义的包---------------------------
import myprojects.reserve.*;
import myprojects.guestroom.*;

/**
 * @(#)ReserveInfo.java
 *
 * 取消预订信息:
 * 删除预订个人信息,其房间状态信息也随之删除
 *  
 * @author 
 * @version 1.00 05/12/25
 */
 
public class UndoReserveFrame extends JFrame {
  JPanel contentPane;
  JPanel reservePersonInfoPanel = new JPanel();
  JLabel hintReserveInfoLabel = new JLabel();  
  JPanel buttonPanel = new JPanel();
  JButton deleteButton = new JButton();
  JButton affrimButton = new JButton();
  JButton exitButton = new JButton();
    //用表格来表示列表
  DefaultTableModel reserveInfoModel = new DefaultTableModel();
  JTable reserveInfoTable = new JTable(reserveInfoModel);
  //生成取消预订信息类,
  UndoReserve undoReserveRoom = new UndoReserve();
  Vector reserveInfoList=new Vector();
  //保存删除的预订号码
  Vector deleteReserveId=new Vector();
  Vector deleteRoomId=new Vector();
  //Construct the frame
  public UndoReserveFrame() {
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
    try {
      jbInit();
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }
  //Component initialization
  private void jbInit() throws Exception  {
    contentPane = (JPanel) this.getContentPane();
    contentPane.setLayout(null);
    this.setSize(new Dimension(400, 350));
    this.setLocation(290,250);
    this.setTitle("取消预订");
    this.setResizable(false); //使之不能改变大小
    
    contentPane.setForeground(Color.black);
    reservePersonInfoPanel.setBackground(Color.lightGray);
    reservePersonInfoPanel.setBounds(new Rectangle(24, 14, 345, 202));
    BorderLayout border = new BorderLayout();
    reservePersonInfoPanel.setLayout(border);    
    
    hintReserveInfoLabel.setText("                                    预订信息个人表");   
     
    buttonPanel.setBackground(Color.lightGray);
    buttonPanel.setBounds(new Rectangle(24, 226, 347, 54));
    buttonPanel.setLayout(null);
    deleteButton.setBounds(new Rectangle(151-100, 16, 73, 25));
    deleteButton.setText("删除");
    affrimButton.setBounds(new Rectangle(151, 16, 73, 25));
    affrimButton.setText("确定");
    exitButton.setBounds(new Rectangle(245, 16, 73, 25));
    exitButton.setText("退出");
    contentPane.add(reservePersonInfoPanel, null);
    reservePersonInfoPanel.add(hintReserveInfoLabel,BorderLayout.NORTH);
    contentPane.add(buttonPanel, null);
    buttonPanel.add(deleteButton, null);
    buttonPanel.add(affrimButton, null);
    buttonPanel.add(exitButton, null);
    /////////////////////////////////////////////    	
    reserveInfoModel.addColumn("预订号");
    reserveInfoModel.addColumn("姓名");
    reserveInfoModel.addColumn("电话"); 
    reserveInfoModel.addColumn("应到日期"); 
       			
    reserveInfoTable.setPreferredScrollableViewportSize(new Dimension(130, 100));
    reserveInfoTable.setBackground(new Color(255, 255, 210));    
    reserveInfoTable.setRowHeight(20);
    reserveInfoTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    JScrollPane reserveInfoscrollpane = new JScrollPane(reserveInfoTable);
    reservePersonInfoPanel.add(reserveInfoscrollpane,BorderLayout.CENTER); 
    
    ///////////////
    affrimButton.setEnabled(false);
///////////////////////////////////////////// 
	//从 UndoReserve 类型对象获取预订客人信息
	//设置从 UndoReserve 类对象获取的信息: 预订客人信息
	//undoReserveRoom.reserveInfoList放的是预订客人信息表
	ReserveInfo reserveInfo = new ReserveInfo();			
	reserveInfoList = undoReserveRoom.reserveInfoList;	
	//将预订客人信息表放到Table中
	for(int i=0;i<reserveInfoList.size();i++)
	{
		reserveInfo=(ReserveInfo)reserveInfoList.get(i);
		
		reserveInfoModel.addRow(new Object[]{ 
						Integer.toString(reserveInfo.guestId),
						reserveInfo.guestName.toString().trim(),
						reserveInfo.guestPhone.toString().trim(),
						reserveInfo.arriveDate.toString().trim(),
						Integer.toString(reserveInfo.guestNum)		
				 		});	
	}		
	////////////////////////////////////
    this.setVisible(true); 
    //按钮事件处理
    //处理删除预订记录,但是不保存,如果按了保存按钮,则将删除信息保存
    deleteButton.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		   
		   System.out.println("处理删除预订记录");
		   deleteReserveRecord_deleteButtonClick();
		}
	});	
	exitButton.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
		   //退出该界面,不保存预订信息
		   System.out.println("退出取消预订界面");
		   closeFrame();				
		}
	});	
	affrimButton.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {		  
		  saveUndoReserveInfo_affrimButtonClick();
			closeFrame();		   
		}
	});	   
  }/////////////////// jbInit end
  //打印删除客人的标志号
  void printdeleteReserveId(){
  	System.out.println("删除客人的标志号:");
  	for(int i=0;i<deleteReserveId.size();i++) {
  		System.out.println(deleteReserveId.get(i)+"  ");
  	}
  	
  }
  //将删除的标志号存放到数组 deleteReserveId 中,以便通知数据库,删除相应记录
  void deleteReserveRecord_deleteButtonClick(){
  	//处理删除预订记录,但是不保存,如果按了保存按钮,则将删除信息保存  	
  	 int index = reserveInfoTable.getSelectedRow();
  	 System.out.println ("你选择了数组的位置为"+index);  
  	 //如果没有选中元素,则不作处理 
  	 if(index == -1) 
  	 	return ;
  	 ReserveInfo reserveInfo = new ReserveInfo();
  	 reserveInfo=(ReserveInfo)reserveInfoList.get(index);
  	 //存放删除预订客人标号到 deleteReserveId
  	 deleteReserveId.addElement(reserveInfo.getGuestId()+"");
  	 for(int i=0;i<reserveInfo.choosenRoomList.size();i++){
  	 	GuestRoom gr=new GuestRoom();
  	 	gr=(GuestRoom)reserveInfo.choosenRoomList.get(i);
  	 	deleteRoomId.add(gr.guestRoomId);
  	 }
  	 //从列表中删除该客人信息
  	 reserveInfoModel.removeRow(index);
  	 reserveInfoList.remove(index);
  	 affrimButton.setEnabled(true);
  }
  void saveUndoReserveInfo_affrimButtonClick() {
  	this.printdeleteReserveId();
  	undoReserveRoom.saveUndoReserveInfo(deleteReserveId,deleteRoomId);
  }
  //close this frame when window is closed
  protected void processWindowEvent(WindowEvent e) {
    super.processWindowEvent(e);
    if (e.getID() == WindowEvent.WINDOW_CLOSING) {
      closeFrame();
    }
  }
  void closeFrame() {
  	this.dispose();	
  } 
}

⌨️ 快捷键说明

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