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

📄 client.java

📁 航空订票系统
💻 JAVA
字号:
package flight.dingpiao;

import flight.assist.*;

import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.sql.*;

public class Client extends JFrame implements ActionListener
{
	private JLabel name=new JLabel("** 真实姓名:");
	private JLabel id=new JLabel("** 证件号码:");
	private JLabel start=new JLabel("    出发地点:");
	private JLabel end=new JLabel("    到达地点:");
	private JLabel id1=new JLabel("(身份证号码)");
	private JLabel starttime=new JLabel("    出发时间:");
	private JLabel returntime=new JLabel("    返回时间:");
	private JLabel flight=new JLabel("    航 班 号  :");
	private JLabel telephone=new JLabel("** 联系电话:");
	private JLabel qq=new JLabel("    QQ/MSN/雅虎通:");
	private JLabel email=new JLabel("  E - Mail :  ");
	private JLabel ps=new JLabel("     简短附言:  ");
	private JLabel returnflight=new JLabel("返回航班号:");
	private JLabel adultticketnumber=new JLabel("    成人票数:");
	private JLabel childticketnumber=new JLabel(" 儿童票数:");
	private JLabel airfirm=new JLabel(" 航空公司:");
	private JLabel style=new JLabel(" 机票类型:");
		
	static JTextField jbtname=new JTextField(" ",12);
	static JTextField jbtid=new JTextField(" ",20);
	private JTextField jbtstart=new JTextField(" ",12);
	private JTextField jbtend=new JTextField(" ",12);
	private JTextField jbtstarttime=new JTextField(" ",12);
	private JTextField jbtreturntime=new JTextField(" ",12);
	static JTextField jbtadultticketnumber=new JTextField("1",12);
	static JTextField jbtchildticketnumber=new JTextField("1",12);
	private JTextField jbtstyle=new JTextField(12);
	private JTextField jbtreturnflight=new JTextField(12);
	private JTextField jbtairfirm=new JTextField(12);
	static JTextField jbttelephone=new JTextField(12);
	static JTextField jbtemail=new JTextField(12);
	static JTextField jbtqq=new JTextField(12);
	private JTextField jbtflight=new JTextField(12);
	
	
	static JTextArea jbtps=new JTextArea(10,3);

	private JButton handin=new JButton("完成并提交");
	private JButton rewrite=new JButton("重 新 输 入");
	private JButton return1=new JButton("返回实时订票");
	private JPanel p10=new JPanel();

	private String[] string=new String[22];
	
	private SeatInfo seatinformation=new SeatInfo();
   	public Client()
	{	
		try
		{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
		}
		catch(Exception ex)
		{
		}
		
		jbtstarttime.setEditable(false);
		jbtreturntime.setEditable(false);
		jbtstart.setEditable(false);
		jbtend.setEditable(false);
		jbtflight.setEditable(false);
		jbtairfirm.setEditable(false);
		jbtreturnflight.setEditable(false);
		jbtstyle.setEditable(false);

		JPanel p1=new JPanel();
	//	p1.setBackground(color);
		p1.setLayout(new FlowLayout(FlowLayout.LEFT));
		p1.add(name);
		p1.add(jbtname);
		
		JPanel p2=new JPanel();
	//	p2.setBackground(color);
		p2.setLayout(new FlowLayout(FlowLayout.LEFT));
		p2.add(id);
		p2.add(jbtid);
		p2.add(id1);
		
		JPanel p3=new JPanel();
	//	p3.setBackground(color);
		p3.setLayout(new FlowLayout(FlowLayout.LEFT));
		p3.add(start);
		p3.add(jbtstart);
		p3.add(style);
		p3.add(jbtstyle);
		
		JPanel p4=new JPanel();
	//	p4.setBackground(color);
		p4.setLayout(new FlowLayout(FlowLayout.LEFT));
		p4.add(end);
		p4.add(jbtend);
		p4.add(airfirm);
		p4.add(jbtairfirm);
		
		JPanel p5=new JPanel();
	//	p5.setBackground(color);
		p5.setLayout(new FlowLayout(FlowLayout.LEFT));
		p5.add(starttime);
		p5.add(jbtstarttime);
		p5.add(returntime);
		p5.add(jbtreturntime);
		
		JPanel p6=new JPanel();
		//p6.setBackground(color);
		p6.setLayout(new FlowLayout(FlowLayout.LEFT));
		p6.add(adultticketnumber);
		p6.add(jbtadultticketnumber);
		p6.add(childticketnumber);
		p6.add(jbtchildticketnumber);
	
		
		JPanel p7=new JPanel();
		//p7.setBackground(color);
		p7.setLayout(new FlowLayout(FlowLayout.LEFT));
		p7.add(telephone);
		p7.add(jbttelephone);
		p7.add(email);
		p7.add(jbtemail);
	
		JPanel p9=new JPanel();
		//p9.setBackground(color);
		jbtps.setLineWrap(true);
		jbtps.setBorder(new LineBorder(new Color(220,220,255),2));
		p9.setLayout(new BorderLayout());
		p9.add(ps,BorderLayout.WEST);
		JScrollPane scrollPane=new JScrollPane(jbtps);
		p9.add(scrollPane,BorderLayout.CENTER);
		
		JPanel p11=new JPanel();
		//p11.setBackground(color);
		p11.setLayout(new FlowLayout(FlowLayout.CENTER));
		p11.add(handin);
		p11.add(rewrite);
		p11.add(return1);
		JPanel p12=new JPanel();
		//p12.setBackground(color);
		p12.setLayout(new FlowLayout(FlowLayout.LEFT));
		p12.add(flight);
		p12.add(jbtflight);
		p12.add(returnflight);
		p12.add(jbtreturnflight);
	
//		p10.setBackground(color);
		p10.setBorder(new MatteBorder(new ImageIcon("f.gif")));
		p10.setLayout(null);
		JLabel title=new JLabel("(带**的必须填写)",JLabel.LEFT);
		p10.add(title);
		p10.add(p1);
		p10.add(p2);
		p10.add(p3);
		p10.add(p4);
		p10.add(p5);
		p10.add(p6);
		p10.add(p7);		
		p10.add(p9);
		p10.add(p11);
		p10.add(p12);
		
		title.reshape(60,20,350,10);
		p1.reshape(40,30,350,30);
		p2.reshape(40,60,350,30);
		p3.reshape(40,90,350,30);
		p4.reshape(40,120,350,30);
		p5.reshape(40,150,350,30);
		p12.reshape(40,180,350,30);
		p6.reshape(40,210,350,30);
		p7.reshape(40,240,350,30);		
		p9.reshape(40,275,345,80);
		p11.reshape(72,365,350,30);
		rewrite.addActionListener(this);
		handin.addActionListener(this);
		return1.addActionListener(this);
	}
	
	public JPanel panel(String[] string)
	{
		this.string=string;	
		jbtstart.setText(string[0]);
		jbtend.setText(string[1]);
		jbtstarttime.setText(string[2]);
		
		
		jbtairfirm.setText(string[6]);
		jbtflight.setText(string[4]);
		jbtstyle.setText(string[8]);
		
		//single
		if(string[5].equals("单程"))
		{
			jbtreturnflight.setVisible(false);
			returnflight.setVisible(false);
			returntime.setVisible(false);
			jbtreturntime.setVisible(false);
		}
		//double
		else if(string[5].equals("往返"))
		{
			jbtreturnflight.setVisible(true);
			returnflight.setVisible(true);
			returntime.setVisible(true);
			jbtreturntime.setVisible(true);
		}
		//multiple
		else if(string[5].equals("联程"))
		{
			string[9]=string[18];
			string[10]=string[17];
			string[11]=string[16];
		}
		jbtreturnflight.setText(string[11]);
		jbtreturntime.setText(string[9]);
		return p10;
	}
	
	int adultnumber=0;
	int childnumber=0;
	int ticketnumber=0;
	
	public void actionPerformed(ActionEvent e)
	{
		
		int len1=jbtname.getText().trim().length();
		int len2=jbtid.getText().trim().length();
		int len3=jbtadultticketnumber.getText().trim().length();
		int len4=jbtchildticketnumber.getText().trim().length();
		int len5=jbttelephone.getText().trim().length();
		
		if(e.getSource()==handin)
		{			
			string[12]=jbtname.getText().trim();
			string[13]=jbtid.getText().trim();			
		
			int i=0;// leftticket for single
			int j=0;// leftticket for double and multiple
			if(len1==0||len2==0||len3==0||len4==0||len5==0)
			{
				String str=getstring(len1,len2,len3,len4,len5);
				JOptionPane.showMessageDialog(this,str,"错误信息!",JOptionPane.ERROR_MESSAGE);
				
			}   
			else
			{
			adultnumber=Integer.parseInt(jbtadultticketnumber.getText().trim());
			childnumber=Integer.parseInt(jbtchildticketnumber.getText().trim());
			
			string[14]=String.valueOf(adultnumber);
			string[15]=String.valueOf(childnumber);
			
			ticketnumber=adultnumber+childnumber;
				////single
				if(string[5].toString().trim().equals("单程"))
				{
					i=seatinformation.dingPiao(string[4],string[3],ticketnumber);         
				
					if(i!=-2)
					{
						if(i==-1)
						{
							float adultfare=0;
							float childfare=0;
							float piaojia=0;
							try
							{
								Connection con = DriverManager.getConnection("jdbc:odbc:dsStudent","sa","");
								Statement stmt = con.createStatement();
								ResultSet rs = stmt.executeQuery("select adultFare,childFare from flight where flight='"+string[4]+"'");
								while(rs.next())
								{
									adultfare=rs.getFloat(1);
									childfare=rs.getFloat(2);
								}
								
							}
							catch(Exception ex)
							{
							}
							piaojia=adultnumber*adultfare+childnumber*childfare;
							String dingdan=string[3]+string[4]+String.valueOf((int)(100*Math.random()));
							string[16]=dingdan;
							string[21]=""+piaojia;
							JOptionPane.showMessageDialog(this,"   恭喜!提交成功\n你的定单号是"+dingdan+"\n"+"你应付价钱为"+piaojia,
							                              "客户信息",JOptionPane.INFORMATION_MESSAGE);
							Hangkong.clientFrame.setVisible(false);
							Hangkong.clientFrame.dispose();
							Hangkong.frame.setVisible(true);
							writeToFile writetofile=new writeToFile(string);
						}
						else
						{
							JOptionPane.showMessageDialog(this,"非常抱歉!只有"+i+"张航班票剩余\n请您重新选择票数",
							                              "客户信息",JOptionPane.INFORMATION_MESSAGE);
							jbtadultticketnumber.setText(" ");
							jbtchildticketnumber.setText(" ");
						}
					}
					else
					{
						JOptionPane.showMessageDialog(null,"对不起,今天没有这个航班",
						                              "客户信息",JOptionPane.ERROR_MESSAGE);
					} 		
				}
				//double
				else //if(string[5].toString().trim().equals("往返")||string[5].toString().trim().equals("往返"))
				{
					i=seatinformation.dingPiao(string[4],string[3],ticketnumber);
					j=seatinformation.dingPiao(string[11],string[10],ticketnumber);
					
					if(i==-2)
					   JOptionPane.showMessageDialog(null,"对不起,今天没有第一个航班",
					                                 "客户信息",JOptionPane.ERROR_MESSAGE);
					else if(j==-2)
					   JOptionPane.showMessageDialog(null,"对不起,今天没有第二个航班",
					                                 "客户信息",JOptionPane.ERROR_MESSAGE);
					else
					{
						if(i==-1&&j==-1)
						{
						float adultfare=0;
						float childfare=0;
						float piaojia=0;
						try
						{
							Connection con = DriverManager.getConnection("jdbc:odbc:dsStudent","sa","");
							Statement stmt = con.createStatement();
							ResultSet rs = stmt.executeQuery("select adultFare,childFare from flight where flight='"+string[4]+"'");
							while(rs.next())
							{
								adultfare=rs.getFloat(1);
								childfare=rs.getFloat(2);
							}
							
						}
						catch(Exception ex)
						{
						}
						piaojia=adultnumber*adultfare+childnumber*childfare;
						try
						{
							Connection con = DriverManager.getConnection("jdbc:odbc:dsStudent","sa","");
							Statement stmt = con.createStatement();
							ResultSet rs = stmt.executeQuery("select adultFare,childFare from flight where flight='"+string[11]+"'");
							while(rs.next())
							{
								adultfare=rs.getFloat(1);
								childfare=rs.getFloat(2);
							}
							
						}
						catch(Exception ex)
						{
						}
						piaojia=piaojia+adultnumber*adultfare+childnumber*childfare;
						String dingdan=string[3]+string[4]+String.valueOf((int)(100*Math.random()));
						string[16]=dingdan;
						string[21]=""+piaojia;
						JOptionPane.showMessageDialog(this,"   恭喜!提交成功\n你的定单号是"+dingdan+"\n"+"你应付价钱为"+piaojia,
						                              "客户信息",JOptionPane.INFORMATION_MESSAGE);
						Hangkong.clientFrame.setVisible(false);
						Hangkong.clientFrame.dispose();
						Hangkong.frame.setVisible(true);
						
						writeToFile writetofile=new writeToFile(string);
						
						}
					
						else
						{
							if(i!=-1)
							{
							JOptionPane.showMessageDialog(this,"非常抱歉!只有"+i+"张第一航班票剩余\n请您重新选择票数",
							                              "客户信息",JOptionPane.INFORMATION_MESSAGE);
							jbtadultticketnumber.setText(" ");
							jbtchildticketnumber.setText(" ");
							}
							else
							{
							if(j!=-1)
							{
								JOptionPane.showMessageDialog(this,"非常抱歉!只有"+j+"张返回航班票剩余\n请您重新选择票数",
								                              "客户信息",JOptionPane.INFORMATION_MESSAGE);
								jbtadultticketnumber.setText(" ");
								jbtchildticketnumber.setText(" ");
							}
							}
						}
					}
					
				}
				//multiple 
			
				}
		}
		if(e.getSource()==rewrite)
		{
			jbtname.setText("");
			jbtid.setText("");
			jbtadultticketnumber.setText("");
			jbtchildticketnumber.setText("");
			jbttelephone.setText("");
			jbtqq.setText("");
			jbtemail.setText("");
			jbtps.setText("");
		}
		if(e.getSource()==return1)
		{
			Hangkong.clientFrame.setVisible(false);
			Hangkong.clientFrame.dispose();
			Hangkong.frame.setVisible(true);
		}
	
	}
	public String getstring(int i,int j,int r,int s,int l)
	{
		if(i==0)
		   return "姓名不能为空!";
		else if(j==0)
		   return "证件号不能为空!";
		else if(r==0)
		   return "成人票数不能为空!";
		else if(s==0)
		   return "儿童票数不能为空";
		else if(l==0)
		   return "电话号码不能为空";
		   
		return "ERROR!";
	}
}

⌨️ 快捷键说明

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