📄 newroomframe.java
字号:
package myprojects.guestroom;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Vector;
import java.util.*;
//------------------
import myprojects.guestroom.*;
/**
* @(#)NewRoomFrame.java
*
* 新增客房界面类
*
* @author
* @version 1.00 05/12/25
*/
public class NewRoomFrame extends JFrame {
JPanel contentPane;
JLabel hintNewRoomLabel = new JLabel();
JLabel roomIdLabel = new JLabel();
JTextField roomIdTextField = new JTextField();
JLabel roomClassLabel = new JLabel();
String[] roomClassItems = {"单人房","双人房","标间","套房"};
JComboBox roomClassComboBox = new JComboBox(roomClassItems);
JLabel roomStateLabel = new JLabel();
String[] roomStateItems = {"空房","登记","预定","维修","清洁"};
JComboBox roomStateComboBox = new JComboBox(roomStateItems);
JLabel roomPriceLabel = new JLabel();
JTextField roomPriceTextField = new JTextField();
JLabel roomPhoneLabel = new JLabel();
JTextField roomPhoneTextField = new JTextField();
JButton affrimButton = new JButton();
JButton exitButton = new JButton();
NewRoom newRoom = new NewRoom();
//Construct the frame
public NewRoomFrame() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
hintNewRoomLabel.setText("新增房间");
hintNewRoomLabel.setBounds(new Rectangle(162, 19, 74, 16));
contentPane.setLayout(null);
this.setSize(new Dimension(400+5, 300));
this.setLocation(290,250);
this.setTitle("新增客房");
this.setResizable(false); //使之不能改变大小
roomIdLabel.setText("房间号");
roomIdLabel.setBounds(new Rectangle(72, 59, 34+15, 16));
roomIdTextField.setText("");
roomIdTextField.setColumns(0);
roomIdTextField.setBounds(new Rectangle(118, 55, 57+10, 22));
roomClassLabel.setText("类别");
roomClassLabel.setBounds(new Rectangle(224, 57, 34, 16));
roomClassComboBox.setBounds(new Rectangle(260, 55, 60+5, 22));
roomStateLabel.setBounds(new Rectangle(224, 106, 34, 16));
roomStateLabel.setRequestFocusEnabled(true);
roomStateLabel.setText("状态");
roomStateComboBox.setBounds(new Rectangle(260, 101, 60+5, 22));
roomPriceLabel.setBounds(new Rectangle(72, 104, 34, 16));
roomPriceLabel.setText("价格");
roomPriceTextField.setBounds(new Rectangle(118, 101, 57+10, 22));
roomPriceTextField.setColumns(0);
roomPriceTextField.setText("");
roomPhoneLabel.setText("电话");
roomPhoneLabel.setRequestFocusEnabled(true);
roomPhoneLabel.setBounds(new Rectangle(72, 149, 34, 16));
roomPhoneTextField.setText("");
roomPhoneTextField.setColumns(0);
roomPhoneTextField.setBounds(new Rectangle(118, 146, 57+10, 22));
affrimButton.setBounds(new Rectangle(91, 208, 73, 25));
affrimButton.setSelectedIcon(null);
affrimButton.setText("确定");
exitButton.setText("返回");
exitButton.setBounds(new Rectangle(223, 206, 73, 25));
exitButton.setSelectedIcon(null);
contentPane.add(hintNewRoomLabel, null);
contentPane.add(roomIdLabel, null);
contentPane.add(roomIdTextField, null);
contentPane.add(roomClassLabel, null);
contentPane.add(roomPriceTextField, null);
contentPane.add(roomStateLabel, null);
contentPane.add(roomPriceLabel, null);
contentPane.add(roomClassComboBox, null);
contentPane.add(roomStateComboBox, null);
contentPane.add(roomPhoneTextField, null);
contentPane.add(roomPhoneLabel, null);
contentPane.add(exitButton, null);
contentPane.add(affrimButton, null);
//按钮事件处理
exitButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
closeFrame();
}
});
affrimButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//验证新建的用户的房间是否已经存在于数据库中
Vector currentRoomList= new Vector();
currentRoomList = newRoom.getAllRoomList(); //获得所有的房间
GuestRoom gr= new GuestRoom();
for(int i=0;i<currentRoomList.size();i++) {
gr=(GuestRoom)currentRoomList.get(i);
if(gr.guestRoomId.trim().equals(roomIdTextField.getText().trim())){
JOptionPane.showMessageDialog(null,"该房间号已经存在,请输入不同的房间号","ok",
JOptionPane.ERROR_MESSAGE);
return;
}
}
try{
newRoom.room.guestRoomFee=Integer.parseInt(roomPriceTextField.getText().toString());
}catch(NumberFormatException nfe){
JOptionPane.showMessageDialog(null,"房间价格输入错误,请重新输入!","ok",
JOptionPane.ERROR_MESSAGE);
return;
}
newRoom.room.guestRoomId=roomIdTextField.getText().trim();
//设置房间类别
if(roomClassComboBox.getSelectedIndex()==0){
newRoom.room.guestRoomClass="单人房";
}else if(roomClassComboBox.getSelectedIndex()==1){
newRoom.room.guestRoomClass="双人房";
}else if(roomClassComboBox.getSelectedIndex()==2){
newRoom.room.guestRoomClass="标间";
}else {
newRoom.room.guestRoomClass="套房";
}
newRoom.room.guestRoomState=roomStateComboBox.getSelectedIndex();
newRoom.room.guestRoomPhone=roomPhoneTextField.getText().trim();
newRoom.saveNewRoomInfo();
newRoom.room.printGuestRoomInfo();
closeFrame();
}
});
////////////////////////////////////////////
this.setVisible(true);
////////////////////////////////////////////
}
//exit 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 + -