?? hangkong.java
字號:
package flight.dingpiao;
import flight.assist.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import java.util.*;
import javax.swing.border.*;
public class Hangkong extends JFrame implements ActionListener
{
private String[] string=new String[22];
private JComboBox boxyear=new JComboBox();
private JComboBox boxyear1=new JComboBox();
private JComboBox boxyear2=new JComboBox();
private JComboBox boxmonth=new JComboBox();
private JComboBox boxmonth1=new JComboBox();
private JComboBox boxmonth2=new JComboBox();
private JComboBox boxday1=new JComboBox();
private JComboBox boxday2=new JComboBox();
private JComboBox boxday=new JComboBox();
//private JComboBox boxadult=new JComboBox();
private String[] year={" 2004"," 2005"};
private String[] adult={" 成人 "," 兒童 "," 學(xué)生 "};
private String[] month={"01","02","03","04","05","06","07","08","09","10","11","12" };
private String[] day={"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30"};
private JTextField jbtflight=new JTextField(10);
private JTextField jbtflight1=new JTextField(10);
private JTextField jbtflight2=new JTextField(10);
private JRadioButton jbrsingle,jbrdouble,jbrmultiple,jbradult,jbrchild;
private ButtonGroup jbr=new ButtonGroup();
private ButtonGroup jbr1=new ButtonGroup();
private JButton jbtbutton=new JButton("機(jī) 票 預(yù) 定");
private JButton jbtreturn=new JButton("返回主頁面");
Color color=new Color(230,230,255);
static JFrame clientFrame=new JFrame();
static Hangkong frame;
private Client client=new Client();
public static boolean open=false;
//equals to p0
private JPanel s1,s2;
private JLabel jblsecondflight=new JLabel(" 第二航班號");
private JLabel jblreturnflight=new JLabel(" 返回航班");
private SeatInfo seatinformation=new SeatInfo();
int flag=0;
int pflag=0;
public Hangkong()
{
frame = this;
string[5]="單程";
// string[12]="single";
for(int i=0;i<year.length;i++)
boxyear.addItem(year[i]);
for(int i=0;i<year.length;i++)
boxyear1.addItem(year[i]);
for(int i=0;i<year.length;i++)
boxyear2.addItem(year[i]);
for(int i=0;i<month.length;i++)
boxmonth.addItem(month[i]);
for(int i=0;i<month.length;i++)
boxmonth1.addItem(month[i]);
for(int i=0;i<month.length;i++)
boxmonth2.addItem(month[i]);
for(int i=0;i<month.length;i++)
boxday.addItem(day[i]);
for(int i=0;i<month.length;i++)
boxday1.addItem(day[i]);
for(int i=0;i<month.length;i++)
boxday2.addItem(day[i]);
// for(int i=0;i<adult.length;i++)
// boxadult.addItem(adult[i]);
//Panel for the return time
JPanel p0=new JPanel();
p0.setVisible(false);
display(p0);
//p0.setBackground(color);
p0.setLayout(new FlowLayout(FlowLayout.LEFT));
p0.add(new JLabel(" 返回日期"));
p0.add(boxyear1);
//boxyear1.setVisible(false);
p0.add(new JLabel("年"));
// jbtmonth1.setHorizontalAlignment(JTextField.RIGHT);
p0.add(boxmonth1);
// jbtday1.setHorizontalAlignment(JTextField.RIGHT);
p0.add(new JLabel("月"));
p0.add(boxday1);
p0.add(new JLabel("日"));
//Panel for multiple
JPanel p1=new JPanel();
p1.setVisible(false);
display1(p1);
//p1.setBackground(color);
p1.setLayout(new FlowLayout(FlowLayout.LEFT));
p1.add(new JLabel("第二出發(fā)日期:"));
p1.add(boxyear2);
p1.add(new JLabel("年"));
// jbtmonth2.setHorizontalAlignment(JTextField.RIGHT);
p1.add(boxmonth2);
// jbtday2.setHorizontalAlignment(JTextField.RIGHT);
p1.add(new JLabel("月"));
p1.add(boxday2);
p1.add(new JLabel("日"));
//Panel starttime
JPanel p3=new JPanel();
//p3.setBackground(color);
p3.setLayout(new FlowLayout(FlowLayout.LEFT));
//JLabel starttime
p3.add(new JLabel("第一出發(fā)日期:"));
p3.add(boxyear);
p3.add(new JLabel("年"));
// jbtmonth.setHorizontalAlignment(JTextField.RIGHT);
// jbtmonth.setText("12");
p3.add(boxmonth);
// jbtday.setHorizontalAlignment(JTextField.RIGHT);
p3.add(new JLabel("月"));
p3.add(boxday);
p3.add(new JLabel("日"));
//Panel style
JPanel p5=new JPanel();
//p5.setBackground(color);
p5.setLayout(new FlowLayout(FlowLayout.LEFT));
//style
p5.add(new JLabel("機(jī)票類型: "));
p5.add(jbrsingle=new JRadioButton("單程",true));
p5.add(jbrdouble=new JRadioButton("往返",false));
p5.add(jbrmultiple=new JRadioButton("聯(lián)票 ",false));
// p5.add(boxadult);
//jbrsingle.setBackground(color);
//jbrdouble.setBackground(color);
//jbrmultiple.setBackground(color);
jbr.add(jbrsingle);
jbr.add(jbrdouble);
jbr.add(jbrmultiple);
JPanel p6=new JPanel();
p6.setLayout(new FlowLayout(FlowLayout.LEFT));
//p6.setBackground(color);
p6.add(jbtbutton);
p6.add(jbtreturn);
JPanel p8=new JPanel();
//p8.setBackground(color);
p8.setLayout(new FlowLayout(FlowLayout.LEFT));
//the firstflight
p8.add(new JLabel("第一航班號: "));
p8.add(jbtflight);
p8.add(jblreturnflight);
p8.add(jbtflight1);
p8.add(jblsecondflight);
p8.add(jbtflight2);
jblsecondflight.setVisible(false);
jbtflight1.setVisible(false);
jbtflight2.setVisible(false);
jblreturnflight.setVisible(false);
JPanel p7=new JPanel();
//p7.setBackground(color);
p7.setBorder(new MatteBorder(new ImageIcon("f.gif")));
p7.setLayout(null);
p7.add(p0);
p7.add(p1);
p7.add(p3);
p7.add(p5);
p7.add(p6);
p7.add(p8);
p3.reshape(50,30,350,30);
p0.reshape(50,70,350,30);
p1.reshape(50,70,350,30);
p8.reshape(50,110,350,30);
p5.reshape(50,150,350,40);
p6.reshape(120,200,250,30);
getContentPane().add(p7,BorderLayout.CENTER);
getContentPane().setBackground(new Color(255,255,230));
jbtbutton.addActionListener(this);
jbtreturn.addActionListener(this);
jbrsingle.addActionListener(this);
jbrdouble.addActionListener(this);
jbrmultiple.addActionListener(this);
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
Hangkong.this.setVisible(false);
Hangkong.this.dispose();
}
}
);
}
//set panel//s1 for return
public void display(JPanel p)
{
s1=p;
}
//set label//s2 for multiple
public void display1(JPanel p)
{
s2=p;
}
String otherchoice=new String(" ");
String dotherchoice=new String(" ");
String motherchoice=new String(" ");
boolean isFull=false;
public void actionPerformed(ActionEvent e)
{
String year1=new String(boxyear.getSelectedItem().toString().trim());
String month1=new String(boxmonth.getSelectedItem().toString().trim());
String day1=new String(boxday.getSelectedItem().toString().trim());
String year2=new String(boxyear1.getSelectedItem().toString().trim());
String month2=new String(boxmonth1.getSelectedItem().toString().trim());
String day2=new String(boxday1.getSelectedItem().toString().trim());
string[2]=year1+"年"+month1+"月"+day1+"日";
string[3]=year1+month1+day1;
string[4]=jbtflight.getText().trim();
string[9]=year2+"年"+month2+"月"+day2+"日";
string[10]=year2+month2+day2;
string[11]=jbtflight1.getText().trim();
string[16]=jbtflight2.getText().trim();
String year3=new String(boxyear2.getSelectedItem().toString().trim());
String month3=new String(boxmonth2.getSelectedItem().toString().trim());
String day3=new String(boxday2.getSelectedItem().toString().trim());
string[17]=year3+month3+day3;
string[18]=year3+"年"+month3+"月"+day3+"日";
//book the ticket
if(e.getSource()==jbtbutton)
{
otherchoice=" ";
dotherchoice=" ";
isFull=seatinformation.isFull(string[4],string[3]);
int sflight=singleflight();
int dflight=0;
int mflight=0;
String year=string[3].substring(0,4);
String month=string[3].substring(4,6);
String day=string[3].substring(6,8);
boolean before=isTimeValid(year,month,day);
if(before)
{if(jbrsingle.isSelected())
{
if(sflight==1)
{
JOptionPane.showMessageDialog(this,"航班號不能為空!",
"錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight.setText("");
}
else if(sflight==2)
{
JOptionPane.showMessageDialog(this,"你要預(yù)定的航班已經(jīng)滿座!\n您可以改定同一天的航班:\n"+otherchoice,
"客戶信息",JOptionPane.INFORMATION_MESSAGE);
jbtflight.setText("");
}
else if(sflight==3)
{
JOptionPane.showMessageDialog(this,"您要預(yù)定的航班已經(jīng)滿座了!\n而且當(dāng)天其他航班也已無票售!\n建議您重新選擇航班日期",
"錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight.setText("");
}
else if(sflight==4)
{
JOptionPane.showMessageDialog(this,"沒有此次航班,請您重新查閱!",
"錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight.setText("");
}
else
{
clientFrame.getContentPane().add(client.panel(string));
clientFrame.setTitle("客戶資料");
clientFrame.setSize(450,460);
clientFrame.setVisible(true);
this.setVisible(false);
client.jbtname.setText("");
client.jbtid.setText("");
client.jbtqq.setText("");
client.jbtps.setText("");
client.jbttelephone.setText("");
client.jbtadultticketnumber.setText("1");
client.jbtchildticketnumber.setText("1");
}
}
else if(jbrdouble.isSelected())
{
isFull=seatinformation.isFull(string[11],string[10]);
dflight=doubleflight();
if(sflight==1)
{
JOptionPane.showMessageDialog(this,"第一航班號不能為空!","錯誤信息",JOptionPane.ERROR_MESSAGE);
}
else if(sflight==2)
{
JOptionPane.showMessageDialog(this,"你要預(yù)定的第一航班號已經(jīng)滿座!\n您可以改定同一天的航班:\n"+otherchoice,"客戶信息",JOptionPane.INFORMATION_MESSAGE);
jbtflight.setText("");
}
else if(sflight==3)
{
JOptionPane.showMessageDialog(this,"您要預(yù)定的第一航班已經(jīng)滿座了!\n而且當(dāng)天其他航班也已無票售!\n建議您重新選擇第一航班日期","錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight.setText("");
}
else if(sflight==4)
{
JOptionPane.showMessageDialog(this,"沒有第一航班號,請您重新查閱!","錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight.setText("");
}
else
{
if(dflight==1)
{
JOptionPane.showMessageDialog(this,"返回航班號不能為空!","錯誤信息",JOptionPane.ERROR_MESSAGE);
}
else if(dflight==2)
{
JOptionPane.showMessageDialog(this,"你要預(yù)定的返回航班號已經(jīng)滿座!\n您可以改定同一天的航班:\n"+otherchoice,"客戶信息",JOptionPane.INFORMATION_MESSAGE);
jbtflight1.setText("");
}
else if(dflight==3)
{
JOptionPane.showMessageDialog(this,"您要預(yù)定的返回航班號已經(jīng)滿座了!\n而且當(dāng)天其他航班也已無票售!\n建議您重新選擇返回日期","錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight1.setText("");
}
else if(dflight==4)
{
JOptionPane.showMessageDialog(this,"不存在您要預(yù)定的返回班號,請您重新查閱!","錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight1.setText("");
}
else if(dflight==5)
{
JOptionPane.showMessageDialog(this,"返回航班號與第一航班號不匹配\n請重新輸入返回航班號!","錯誤信息",JOptionPane.ERROR_MESSAGE);
jbtflight1.setText("");
}
else
{
clientFrame.getContentPane().add(client.panel(string));
clientFrame.setSize(450,460);
clientFrame.setTitle("客戶資料");
clientFrame.setVisible(true);
this.setVisible(false);
}
}
}
else if(jbrmultiple.isSelected())
{
isFull=seatinformation.isFull(string[11],string[10]);
mflight=multipleflight();
if(sflight==1)
{
JOptionPane.showMessageDialog(this,"第一航班號不能為空!","錯誤信息",JOptionPane.ERROR_MESSAGE);
}
else if(sflight==2)
{
JOptionPane.showMessageDialog(this,"你要預(yù)定的第一航班號已經(jīng)滿座!\n您可以改定同一天的航班:\n"+otherchoice,"客戶信息",JOptionPane.INFORMATION_MESSAGE);
jbtflight.setText("");
}
else if(sflight==3)
{
JOptionPane.showMessageDialog(this,"您要預(yù)定的第一航班已經(jīng)滿座了!\n而且當(dāng)天其他航班也已無票售!\n建議您重新選擇第一航班日期","錯誤信息",JOptionPane.ERROR_MESSAGE);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -