📄 roomstateclick.java
字号:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.LayoutManager;
import java.awt.TextField;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.SQLException;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDesktopPane;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import sun.font.GlyphLayout;
/*********************************定义一个客房状态的类*******************************/
public class RoomStateClick extends DBAccess implements ActionListener{
private JFrame fm;
private JLabel user;
private JComboBox usertype;
private JLabel pwd;
private TextField password;
private JButton ok,cancel;
LoginInPage hotel;
public RoomStateClick(LoginInPage hotel)
{
super();
this.hotel=hotel;
}
//定义一个创建按钮的方法,参数roomNum为房间号
public JButton CreateButton(int roomNum) {
String strStatus = null;
try {
strStatus = getValue("select * from Room where RoomNum="+roomNum,"Status");
} catch (SQLException e) {
e.printStackTrace();
}
if(strStatus.trim().equalsIgnoreCase("有客"))
{
return (new JButton(roomNum+"(有客)",new ImageIcon("ICON/FRIEND.gif")));
}
else if(strStatus.trim().equalsIgnoreCase("空闲"))
{
return (new JButton(roomNum+"(空闲)",new ImageIcon("ICON/I_EXIT.gif")));
}
return new JButton(roomNum+"(预定)",new ImageIcon("ICON/PHONE.gif"));
}
//重载run()方法
void Run() throws SQLException{
hotel.disable();
fm=new JFrame("客房状态表");
Dimension screen = hotel.getToolkit().getScreenSize();
fm.setSize(855, 460);
fm.setLocation(
(screen.width - fm.getWidth()) / 2,
(screen.height - fm.getHeight()) / 2);
fm.setLayout(null);
JPanel p1=new JPanel();
p1.setBounds(0, 0, 730, 500);
p1.setLayout(null);
JButton bt501=CreateButton(501);
bt501.setBounds(10, 10, 110, 70);
bt501.setBorderPainted(false);//如果该属性为 false按钮无边框
JButton bt502=CreateButton(502);
bt502.setBorderPainted(false);
bt502.setBounds(130, 10, 110, 70);
JButton bt503=CreateButton(503);
bt503.setBorderPainted(false);
bt503.setBounds(250, 10, 110, 70);
JButton bt504=CreateButton(504);
bt504.setBorderPainted(false);
bt504.setBounds(370, 10, 110, 70);
JButton bt505=CreateButton(505);
bt505.setBorderPainted(false);
bt505.setBounds(490, 10, 110, 70);
JButton bt506=CreateButton(506);
bt506.setBorderPainted(false);
bt506.setBounds(610, 10, 110, 70);
p1.add(bt501);
p1.add(bt502);
p1.add(bt503);
p1.add(bt504);
p1.add(bt505);
p1.add(bt506);
JButton bt401=CreateButton(401);
bt401.setBorderPainted(false);
bt401.setBounds(10, 100, 110, 70);
JButton bt402=CreateButton(402);
bt402.setBorderPainted(false);
bt402.setBounds(130, 100, 110, 70);
JButton bt403=CreateButton(403);
bt403.setBorderPainted(false);
bt403.setBounds(250, 100, 110, 70);
JButton bt404=CreateButton(404);
bt404.setBorderPainted(false);
bt404.setBounds(370, 100, 110, 70);
JButton bt405=CreateButton(405);
bt405.setBorderPainted(false);
bt405.setBounds(490, 100, 110, 70);
JButton bt406=CreateButton(406);
bt406.setBorderPainted(false);
bt406.setBounds(610, 100, 110, 70);
p1.add(bt401);
p1.add(bt402);
p1.add(bt403);
p1.add(bt404);
p1.add(bt405);
p1.add(bt406);
JButton bt301=CreateButton(301);
bt301.setBorderPainted(false);
bt301.setBounds(10, 190, 110, 70);
JButton bt302=CreateButton(302);
bt302.setBorderPainted(false);
bt302.setBounds(130, 190, 110, 70);
JButton bt303=CreateButton(303);
bt303.setBorderPainted(false);
bt303.setBounds(250, 190, 110, 70);
JButton bt304=CreateButton(304);
bt304.setBorderPainted(false);
bt304.setBounds(370, 190, 110, 70);
JButton bt305=CreateButton(305);
bt305.setBorderPainted(false);
bt305.setBounds(490, 190, 110, 70);
JButton bt306=CreateButton(306);
bt306.setBorderPainted(false);
bt306.setBounds(610, 190, 110, 70);
p1.add(bt301);
p1.add(bt302);
p1.add(bt303);
p1.add(bt304);
p1.add(bt305);
p1.add(bt306);
JButton bt201=CreateButton(201);
bt201.setBorderPainted(false);
bt201.setBounds(10, 280, 110, 70);
JButton bt202=CreateButton(202);
bt202.setBorderPainted(false);
bt202.setBounds(130, 280, 110, 70);
JButton bt203=CreateButton(203);
bt203.setBorderPainted(false);
bt203.setBounds(250, 280, 110, 70);
JButton bt204=CreateButton(204);
bt204.setBorderPainted(false);
bt204.setBounds(370, 280, 110, 70);
JButton bt205=CreateButton(205);
bt205.setBorderPainted(false);
bt205.setBounds(490, 280, 110, 70);
JButton bt206=CreateButton(206);
bt206.setBorderPainted(false);
bt206.setBounds(610, 280, 110, 70);
p1.add(bt201);
p1.add(bt202);
p1.add(bt203);
p1.add(bt204);
p1.add(bt205);
p1.add(bt206);
JButton bt1=new JButton("刷新");
bt1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
hotel.enable();
fm.dispose();
try {
Run();
} catch (SQLException e) {
e.printStackTrace();
}
}
});
JButton bt2=new JButton("返回");
bt1.setBounds(100,380,100,30);
bt2.setBounds(430, 380, 100, 30);
bt2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent arg0) {
hotel.enable();
fm.setVisible(false);
}
});
p1.add(bt1);
p1.add(bt2);
JPanel p2=new JPanel();
p2.setBounds(725, 10, 130, 400);
p2.setLayout(new BorderLayout());
fm.add(p2);
fm.add(p1);
fm.setResizable(false);
fm.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
hotel.enable();
fm.setVisible(false);
}
});
JPanel p21=new JPanel();
p21.setSize(130,130);
JTextArea ta=new JTextArea();
p21.setLayout(new GridLayout(6,1,5,5));
JLabel lb1=new JLabel("旅馆客房状态统计",JLabel.LEFT);
JLabel lb2=new JLabel("总客房数:"+getValue("select count(*) as num from Room","num" ),JLabel.LEFT);
JLabel lb3=new JLabel("已经入住的客房数:"+getValue("select count(*) as num from Room where Status like '有客'","num" ),JLabel.LEFT);
JLabel lb4=new JLabel("空闲的客房数:"+getValue("select count(*) as num from Room where Status like '空闲'","num" ),JLabel.LEFT);
JLabel lb5=new JLabel("预定的客房数:"+getValue("select count(*) as num from Room where Status like '预定'","num" ),JLabel.LEFT);
p21.add(lb1);
p21.add(lb2);
p21.add(lb3);
p21.add(lb4);
p21.add(lb5);
JPanel p22=new JPanel();
p22.setLayout(new GridLayout(12,1,2,2));//布局
bt501.addActionListener(new StatusButtonClick(p22,501,fm));//实现对各个按钮的监听
bt502.addActionListener(new StatusButtonClick(p22,502,fm));
bt503.addActionListener(new StatusButtonClick(p22,503,fm));
bt504.addActionListener(new StatusButtonClick(p22,504,fm));
bt505.addActionListener(new StatusButtonClick(p22,505,fm));
bt506.addActionListener(new StatusButtonClick(p22,506,fm));
bt401.addActionListener(new StatusButtonClick(p22,401,fm));
bt402.addActionListener(new StatusButtonClick(p22,402,fm));
bt403.addActionListener(new StatusButtonClick(p22,403,fm));
bt404.addActionListener(new StatusButtonClick(p22,404,fm));
bt405.addActionListener(new StatusButtonClick(p22,405,fm));
bt406.addActionListener(new StatusButtonClick(p22,406,fm));
bt301.addActionListener(new StatusButtonClick(p22,301,fm));
bt302.addActionListener(new StatusButtonClick(p22,302,fm));
bt303.addActionListener(new StatusButtonClick(p22,303,fm));
bt304.addActionListener(new StatusButtonClick(p22,304,fm));
bt305.addActionListener(new StatusButtonClick(p22,305,fm));
bt306.addActionListener(new StatusButtonClick(p22,306,fm));
bt201.addActionListener(new StatusButtonClick(p22,201,fm));
bt202.addActionListener(new StatusButtonClick(p22,202,fm));
bt203.addActionListener(new StatusButtonClick(p22,203,fm));
bt204.addActionListener(new StatusButtonClick(p22,204,fm));
bt205.addActionListener(new StatusButtonClick(p22,205,fm));
bt206.addActionListener(new StatusButtonClick(p22,206,fm));
p2.add(p21,"North");
p2.add(p22,"Center");
fm.setVisible(true);
}
public void actionPerformed(ActionEvent arg0){
try {
Run();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/****************************定义一个类实现房间详细信息*********************************/
class StatusButtonClick extends DBAccess implements ActionListener
{
JPanel panel;
int RoomNum;
JFrame fm;
JLabel lb0;
JLabel lb1;
JLabel lb2;
JLabel lb3;
JLabel lb4;
JLabel lb5;
JLabel lb6;
JLabel lb7;
JLabel lb8,lb9;
JButton bt1,bt2,bt3,bt4;
//构造方法
StatusButtonClick(JPanel panel,int RoomNum,JFrame fm)
{
super();
this.panel=panel;
this.RoomNum=RoomNum;
this.fm=fm;
}
//定义run()方法
public void Run() throws SQLException
{
panel.removeAll();
lb0=new JLabel("-------------------------------");
lb1=new JLabel("房间详细信息",JLabel.LEFT);
lb2=new JLabel("房号:"+getValue("select * from Room where RoomNum="+RoomNum,"RoomNum" ),JLabel.LEFT);
lb3=new JLabel("楼层:"+getValue("select * from Room where RoomNum="+RoomNum,"FlordNum" ),JLabel.LEFT);
lb4=new JLabel("类型:"+getValue("select * from Room where RoomNum="+RoomNum,"Type" ),JLabel.LEFT);
lb5=new JLabel("等级:"+getValue("select * from Room where RoomNum="+RoomNum,"Degreed" ),JLabel.LEFT);
lb6=new JLabel("价格:"+getValue("select * from Room where RoomNum="+RoomNum,"Price"),JLabel.LEFT);
lb7=new JLabel("状态:"+getValue("select * from Room where RoomNum="+RoomNum,"Status"),JLabel.LEFT);
lb8=new JLabel("客房电话:"+getValue("select * from Room where RoomNum="+RoomNum,"PhoneNum"),JLabel.LEFT);
lb9=new JLabel("客人姓名:"+getValue("select * from Customer where 登记房号="+RoomNum,"姓名"));
panel.add(lb0);
panel.add(lb1);
panel.add(lb2);
panel.add(lb3);
panel.add(lb4);
panel.add(lb5);
panel.add(lb6);
panel.add(lb7);
panel.add(lb8);
panel.add(lb9);
String str=getValue("select * from Room where RoomNum="+RoomNum,"Status");
if(str.trim().equalsIgnoreCase("空闲")){
bt1=new JButton("预定/登记");
bt1.addActionListener(new RegisterHotelClick());
panel.add(bt1);
}
if(str.trim().equalsIgnoreCase("预定"))
{
bt2=new JButton("退房");
bt2.addActionListener(new CheckOutClick());
panel.add(bt2);
bt3=new JButton("预定转入住");
bt3.addActionListener((ActionListener) new OrderChangeRegisterClick());
panel.add(bt3);
}
if(str.trim().equalsIgnoreCase("有客"))
{
bt4=new JButton("退房");
bt4.addActionListener(new CheckOutClick());
panel.add(bt4);
}
fm.setVisible(true);
}
public void actionPerformed(ActionEvent arg0)
{
try
{
Run();
fm.setVisible(true);
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -