📄 flightsystem.java
字号:
private JPanel Window = new JPanel(new GridLayout(0, 1));
/* Window cliname in Client_Window */
private JLabel cliname;
/* Window cliid in Client_Window */
private JLabel cliid;
/* Window cliadd in Client_Window */
private JLabel cliadd;
/* Window pnlradioButton in Client_Window */
private JPanel pnlradioButton;
/* Window client_exit in Client_Window */
private JButton client_exit;
/* Window client_buy in Client_Window */
private JButton client_buy;
/* Window client_reserve in Client_Window */
private JButton client_reserve;
/**
* the constructor of Client_Window
*
*/
Client_Window() {
P_ticket = new JRadioButton("Paper ticket",true);
E_ticket = new JRadioButton("Electronic ticket");
tickets = new ButtonGroup();
client_reserve = new JButton("Reserve");
client_exit = new JButton("Exit");
client_buy = new JButton("Buy");
JPanel account = new JPanel(new GridLayout(0,2));
JPanel now = new JPanel(new GridLayout(0,2));
JPanel VIP_btn = new JPanel(new FlowLayout());
JPanel cli_name = new JPanel(new GridLayout(0,2));
JPanel cli_id = new JPanel(new GridLayout(0,2));
JPanel cli_add = new JPanel(new GridLayout(0,2));
pnlradioButton = new JPanel(new FlowLayout());
cliname = new JLabel("Your Name",JLabel.CENTER);
cliid = new JLabel("Your ID",JLabel.CENTER);
cliadd = new JLabel("Your Address:",JLabel.CENTER);
cname = new JTextField();
cname.setEditable(false);
cid = new JTextField();
cid.setEditable(false);
cadd = new JTextField();
cadd.setEditable(false);
client_exit.addActionListener(new exitListener());
client_buy.addActionListener(new Client_buyListener());
client_reserve.addActionListener(new ReserveListener());
cli_name.add(cliname);
cli_name.add(cname);
cli_id.add(cliid);
cli_id.add(cid);
cli_add.add(cliadd);
cli_add.add(cadd);
pnlradioButton.add(P_ticket);
pnlradioButton.add(E_ticket);
VIP_btn.add(client_buy);
VIP_btn.add(client_reserve);
VIP_btn.add(client_exit);
Window.add(cli_name);
Window.add(cli_id);
Window.add(cli_add);
Window.add(account);
Window.add(now);
Window.add(pnlradioButton);
Window.add(VIP_btn);
Window.setSize(350,300);
flag = -1;
/**
* the radiobuttonlistener implements ActionListener
* @author name
*
*/
class radiobuttonlistener implements ActionListener{
/**
* @param the radiobuttonlistener of exitListener
*/
public void actionPerformed(ActionEvent a){
flag *= -1;
}
}
P_ticket.addActionListener(new radiobuttonlistener());
E_ticket.addActionListener(new radiobuttonlistener());
//client_buy.addActionListener(new cbuyListener());
//client_reserve.addActionListener(new creserveListener());
}
/**
* the meath of getPanel
* @return Window
*/
public JPanel getPanel() {
return Window;
}
}
/**
* the VIP_Refuel extends JPanel
* @author name
*
*/
public class VIP_Refuel extends JPanel {
/* Window Refuel in VIP_Refuel */
private JPanel Refuel = new JPanel(new GridLayout(2, 2));
/* Window Amount in VIP_Refuel */
private JLabel Amount;
/* Window refuel_OK in VIP_Refuel */
private JButton refuel_OK;
/* Window exitRefuel in VIP_Refuel */
private JButton exitRefuel;
/**
* the constructor of VIP_Refuel
*
*/
VIP_Refuel() {
JPanel Sum = new JPanel(new GridLayout(1, 2));
JPanel amount_btn = new JPanel(new FlowLayout());
amount = new JTextField();
Amount = new JLabel("chargement number:");
Amount.setHorizontalAlignment(JLabel.CENTER);
refuel_OK = new JButton("OK");
exitRefuel = new JButton("Cancel");
Sum.add(Amount,BorderLayout.WEST);
Sum.add(amount,BorderLayout.EAST);
amount_btn.add(refuel_OK);
amount_btn.add(exitRefuel);
Refuel.add(Sum);
Refuel.add(amount_btn);
refuel_OK.addActionListener(new refuel_OKListener());
exitRefuel.addActionListener(new exitRefuelListener());
}
/**
* the meath of getPanel
* @return Refuel
*/
public JPanel getPanel() {
return Refuel;
}
}
/**
* the VIP_Login extends JPanel
* @author name
*
*/
public class VIP_Login extends JPanel {
/* Window Login in VIP_Login */
private JPanel Login;
/* Window userid in VIP_Login */
private JLabel userid;
/* Window userpwd in VIP_Login */
private JLabel userpwd;
/* Window login_OK in VIP_Login */
private JButton login_OK;
/* Window login_Cancel in VIP_Login */
private JButton login_Cancel;
/**
* the constructor of VIP_Refuel
*
*/
VIP_Login(){
JPanel id = new JPanel(new GridLayout(1, 2));
JPanel pwd = new JPanel(new GridLayout(1, 2));
JPanel Login_Btn = new JPanel(new GridLayout(1, 2));
Login = new JPanel(new GridLayout(3, 1));
ID = new JTextField();
password = new JPasswordField();
userid = new JLabel("UserName:");
userid.setHorizontalAlignment(JLabel.CENTER);
userpwd = new JLabel("Password:");
userpwd.setHorizontalAlignment(JLabel.CENTER);
login_OK = new JButton("OK");
login_Cancel = new JButton("Cancel");
id.add(userid, BorderLayout.WEST);
id.add(ID, BorderLayout.CENTER);
pwd.add(userpwd, BorderLayout.WEST);
pwd.add(password, BorderLayout.CENTER);
Login_Btn.add(login_OK, BorderLayout.WEST);
Login_Btn.add(login_Cancel, BorderLayout.CENTER);
Login.add(id);
Login.add(pwd);
Login.add(Login_Btn);
login_OK.addActionListener(new login_OKListener());
login_Cancel.addActionListener(new login_CancelListener());
}
/**
* the meath of getPanel
* @return Login
*/
public JPanel getPanel() {
return Login;
}
}
/**
* the GetReservedListener implements ActionListener
* @author name
*
*/
class GetReservedListener implements ActionListener{
/**
* @param the GetReservedListener of exitListener
*/
public void actionPerformed(ActionEvent ae){
login_reserved = new JFrame("reserved login!");
JPanel Login;
JLabel userid;
JLabel userpwd;
JButton login_OK;
JButton login_Cancel;
JPanel id = new JPanel(new GridLayout(1, 2));
JPanel pwd = new JPanel(new GridLayout(1, 2));
JPanel Login_Btn = new JPanel(new GridLayout(1, 2));
Login = new JPanel(new GridLayout(3, 1));
ID = new JTextField();
password = new JPasswordField();
userid = new JLabel("UserName:");
userid.setHorizontalAlignment(JLabel.CENTER);
userpwd = new JLabel("Password:");
userpwd.setHorizontalAlignment(JLabel.CENTER);
login_OK = new JButton("OK");
login_Cancel = new JButton("Cancel");
id.add(userid, BorderLayout.WEST);
id.add(ID, BorderLayout.CENTER);
pwd.add(userpwd, BorderLayout.WEST);
pwd.add(password, BorderLayout.CENTER);
Login_Btn.add(login_OK, BorderLayout.WEST);
Login_Btn.add(login_Cancel, BorderLayout.CENTER);
Login.add(id);
Login.add(pwd);
Login.add(Login_Btn);
login_OK.addActionListener(new Reserved_OKListener());
login_Cancel.addActionListener(new login_CancelListener());
login_reserved.setContentPane(Login);
login_reserved.setSize(300, 140);
login_reserved.setLocation(400,260);
login_reserved.setVisible(true);
}
}
/**
* the Reserved_OKListener implements ActionListener
* @author name
*
*/
class Reserved_OKListener implements ActionListener{
/**
* @param the Reserved_OKListener of exitListener
*/
public void actionPerformed(ActionEvent ae){
for(Iterator iterator = clientdb.getIterator(); iterator.hasNext();){
Object temp = iterator.next();
if(temp instanceof VIPClient) {
client = (VIPClient)temp;
if(ID.getText().equals(Vipclient.getID()) && password.getText().equals(Vipclient.getPWD())) {
if (!Vipclient.getReserved()) {
JOptionPane.showMessageDialog(null, "you hasn't reserved a ticket!");
return;
}
logout.setEnabled(true);
login_reserved.dispose();
frame_reserved = new JFrame();
reserved_window = new Reserved_Window();
frame_reserved.setSize(440, 500);
frame_reserved.setTitle("Reserve!");
frame_reserved.setLocation(460,320);
frame_reserved.setContentPane(reserved_window.getPanel());
frame_reserved.setVisible(true);
getReserved.setEnabled(false);
//frame_reserved.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
return;
}
} else {
client = (Client)temp;
if(ID.getText().equals(client.getID()) && password.getText().equals(client.getPWD())) {
if (!client.getReserved()) {
JOptionPane.showMessageDialog(null, "you hasn't reserved a ticket!");
return;
}
logout.setEnabled(true);
if (login_reserved!= null) {
login_reserved.dispose();
}
frame_reserved = new JFrame();
reserved_window = new Reserved_Window();
frame_reserved.setSize(300, 300);
frame_reserved.setTitle("Reserve!");
frame_reserved.setLocation(460, 320);
frame_reserved.setContentPane(reserved_window.getPanel());
frame_reserved.setVisible(true);
getReserved.setEnabled(false);
return;
}
}
}
JOptionPane.showMessageDialog(null, "Sorry,invalid input!Please try again!");
}
}
/**
* the Reserved_Window extends JPanel
* @author name
*
*/
public class Reserved_Window extends JPanel {
/* Window info in Reserved_Window */
private JLabel info;
/* Window reserve in Reserved_Window */
private JPanel reserve;
/* Window tarea in Reserved_Window */
private JPanel tarea;
/* Window btnpnl in Reserved_Window */
private JPanel btnpnl;
/* Window showticket in Reserved_Window */
private JTextArea showticket;
/* Window reserve_BUY in Reserved_Window */
private JButton reserve_BUY;
/* Window reserve_Cancel in Reserved_Window */
private JButton reserve_Cancel;
/**
* the constructor of Reserved_Window
*
*/
Reserved_Window(){
reserve = new JPanel(new BorderLayout());
btnpnl = new JPanel(new FlowLayout());
tarea = new JPanel(new BorderLayout());
info= new JLabel("Do you like buy it?");
info.setHorizontalTextPosition(JLabel.CENTER);
showticket = new JTextArea();
showticket.setSize(200, 200);
reserve_BUY = new JButton("Buy");
reserve_Cancel = new JButton("cancel");
reserve_BUY.addActionListener(new reserve_BUYListener());
reserve_Cancel.addActionListener(new login_CancelListener());
String ticketinfo = "";
Tickit t1 = client.getTickit();
if (t1==null) {
return;
}
else{
ticketinfo = t1.getTickitCode()+"\n"+t1.getClassType()+"\n"+t1.getPrice();
showticket.setText(ticketinfo);
}
showticket.setText(ticketinfo);
tarea.add(showticket,BorderLayout.CENTER);
btnpnl.add(reserve_BUY);
btnpnl.add(reserve_Cancel);
reserve.add(info,BorderLayout.NORTH);
reserve.add(tarea,BorderLayout.CENTER);
reserve.add(btnpnl,BorderLayout.SOUTH);
}
/**
* the meath of getPanel
* @return reserve
*/
public JPanel getPanel() {
return reserve;
}
}
/**
* the Reserved_OKListener implements ActionListener
* @author name
*
*/
class reserve_BUYListener implements ActionListener {
/**
* @param the reserve_BUYListener of exitListener
*/
public void actionPerformed(ActionEvent event) {
if (JOptionPane.showConfirmDialog(null, "confirm???",
"Information", JOptionPane.YES_NO_OPTION)== JOptionPane.YES_OPTION) {
ticketsTextArea.setText("FlightCode: " + flightItem.getFlightCode() + "\n"
+ "Date: " + flightItem.getDate() + "\n"
+ "Start: " + flightItem.getLeftPlace() + "\n"
+ "Destination: " + flightItem.getArrPlace() + "\n"
+ "CabinType: " + classtype + "\n"
+ "Price: " + flightItem.getCabin().getPriceOfFC() + "\n"
+ "Length: " + flightItem.getLength() + "\n"
+ "TicketCode: " + ticketcode + "\n"
+ "Condition: VIP_Seat Sell Out!");
double cabinprice;
if (classtype.equals("First Class")) {
cabinprice= flightItem.getCabin().getPriceOfFC();
}else if (classtype.equals("Business Class")) {
cabinprice= flightItem.getCabin().getPriceOfBC();
}
else{
cabinprice= flightItem.getCabin().getPriceOfEC();
}
client.setTicke(new Tickit(ticketcode,classtype,cabinprice,flightItem));
client.setFlightItem(flightItem);
client.setReserved(false);
if (client instanceof VIPClient) {
VIPClient vip =(VIPClient)client;
vip.setLeftLength(vip.getLeftLength()-flightItem.getLength());
}
if (flag == -1) {
JOptionPane.showMessageDialog(null, "the ticket will be sent to you within 3 days!", "warning",JOptionPane.OK_OPTION );
}
else{
JOptionPane.showMessageDialog(null, "your ticket code is "+ticketcode+"!", "Keep It!!",JOptionPane.OK_OPTION );
}
try {
statusTextArea.setText("You have bought this ticket.\nThank you for your choosing our company!");
frame_reserved.dispose();
} catch (NumberFormatException nfe) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, "Sorry, your account is not enough!",
"Information", JOptionPane.CANCEL_OPTION);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -