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

📄 clientframe.java~33~

📁 航班查询与订票系统 用Java与sqlserver2000来编写一个航班查询与订票系统
💻 JAVA~33~
字号:
package flight.ticketbook;

import flight.assist.*;

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

public class ClientFrame
    extends JFrame
    implements ActionListener {
  DataBaseManager dbManager = DataBaseManager.getInstance();

  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(" 机票类型:");

  private JTextField jbtname = new JTextField(" ", 12);
  private 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);
  private JTextField jbtadultticketnumber = new JTextField("1", 12);
  private JTextField jbtchildticketnumber = new JTextField("0", 12);
  private JTextField jbtstyle = new JTextField(12);
  private JTextField jbtreturnflight = new JTextField(12);
  private JTextField jbtairfirm = new JTextField(12);
  private JTextField jbttelephone = new JTextField(12);
  private JTextField jbtemail = new JTextField(12);
  private JTextField jbtqq = new JTextField(12);
  private JTextField jbtflight = new JTextField(12);

  private JTextArea jbtps = new JTextArea(10, 3);

  private JButton submit = 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 ClientFrame() {
    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.setLayout(new FlowLayout(FlowLayout.LEFT));
    p1.add(name);
    p1.add(jbtname);

    JPanel p2 = new JPanel();
    p2.setLayout(new FlowLayout(FlowLayout.LEFT));
    p2.add(id);
    p2.add(jbtid);
    p2.add(id1);

    JPanel p3 = new JPanel();
    p3.setLayout(new FlowLayout(FlowLayout.LEFT));
    p3.add(start);
    p3.add(jbtstart);
    p3.add(style);
    p3.add(jbtstyle);

    JPanel p4 = new JPanel();
    p4.setLayout(new FlowLayout(FlowLayout.LEFT));
    p4.add(end);
    p4.add(jbtend);
    p4.add(airfirm);
    p4.add(jbtairfirm);

    JPanel p5 = new JPanel();
    p5.setLayout(new FlowLayout(FlowLayout.LEFT));
    p5.add(starttime);
    p5.add(jbtstarttime);
    p5.add(returntime);
    p5.add(jbtreturntime);

    JPanel p6 = new JPanel();
    p6.setLayout(new FlowLayout(FlowLayout.LEFT));
    p6.add(adultticketnumber);
    p6.add(jbtadultticketnumber);
    p6.add(childticketnumber);
    p6.add(jbtchildticketnumber);

    JPanel p7 = new JPanel();
    p7.setLayout(new FlowLayout(FlowLayout.LEFT));
    p7.add(telephone);
    p7.add(jbttelephone);
    p7.add(email);
    p7.add(jbtemail);

    JPanel p9 = new JPanel();
    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.setLayout(new FlowLayout(FlowLayout.CENTER));
    p11.add(submit);
    p11.add(rewrite);
    p11.add(return1);
    JPanel p12 = new JPanel();
    p12.setLayout(new FlowLayout(FlowLayout.LEFT));
    p12.add(flight);
    p12.add(jbtflight);
    p12.add(returnflight);
    p12.add(jbtreturnflight);

    p10.setBorder(new MatteBorder(new ImageIcon("border.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);
    submit.addActionListener(this);
    return1.addActionListener(this);
    this.getContentPane().add(p10);
    this.setTitle("客户资料");
    this.setSize(450, 460);
  }

  public void initTextField(String[] string2) {
    this.string = string2;
    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);
      this.jbtname.setText("");
      this.jbtid.setText("");
      this.jbtqq.setText("");
      this.jbtps.setText("");
      this.jbttelephone.setText("");
      this.jbtadultticketnumber.setText("1");
      this.jbtchildticketnumber.setText("0");
      string[11] = ""; //没有返程航班
      string[10] = ""; //返程时间为空
    }
    //double
    else if (string[5].equals("往返")) {
      jbtreturnflight.setVisible(true);
      returnflight.setVisible(true);
      returntime.setVisible(true);
      jbtreturntime.setVisible(true);
      jbtreturnflight.setText(string[11]);
      jbtreturntime.setText(string[9]);
    }
    //multiple
    else if (string[5].equals("联程")) {
      string[9] = string[18];
      string[10] = string[17];
      string[11] = string[16];
    }

  }

  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() == submit) {
      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 == -1) {
            float adultfare = 0;
            float childfare = 0;
            float totalMoney = 0;
            try {
              ResultSet rs = dbManager.getResult(
                  "select adultFare,childFare from flight where flight='" +
                  string[4] + "'");
              while (rs.next()) {
                adultfare = rs.getFloat(1);
                childfare = rs.getFloat(2);
              }

            }
            catch (Exception ex) {
            }
            totalMoney = adultnumber * adultfare + childnumber * childfare;
            String bookNum = string[3] + string[4] +
                String.valueOf( (int) (500 * Math.random()));
            string[16] = bookNum;
            string[21] = "" + totalMoney;
            JOptionPane.showMessageDialog(this,
                                          "   恭喜!提交成功\n你的定单号是" + bookNum +
                                          "\n" + "你应付价钱为" + totalMoney,
                                          "客户信息",
                                          JOptionPane.INFORMATION_MESSAGE);
            this.dispose();
            new BookInfo(string); //写入订票信息
          }
          else {
            JOptionPane.showMessageDialog(this,
                                          "非常抱歉!只有" + i + "张航班票剩余\n请您重新选择票数",
                                          "客户信息",
                                          JOptionPane.INFORMATION_MESSAGE);
            jbtadultticketnumber.setText(" ");
            jbtchildticketnumber.setText(" ");
          }

        }
        //double
        else {
          i = seatinformation.dingPiao(string[4], string[3], ticketnumber);
          j = seatinformation.dingPiao(string[11], string[10], ticketnumber);

          if (i == -1 && j == -1) {
            float adultfare = 0;
            float childfare = 0;
            float totalMoney = 0;
            try {
              ResultSet rs = dbManager.getResult(
                  "select adultFare,childFare from flight where flight='" +
                  string[4] + "'");
              while (rs.next()) {
                adultfare = rs.getFloat(1);
                childfare = rs.getFloat(2);
              }

            }
            catch (Exception ex) {
            }
            totalMoney = adultnumber * adultfare + childnumber * childfare;
            try {
              ResultSet rs = dbManager.getResult(
                  "select adultFare,childFare from flight where flight='" +
                  string[11] + "'");
              while (rs.next()) {
                adultfare = rs.getFloat(1);
                childfare = rs.getFloat(2);
              }

            }
            catch (Exception ex) {
            }
            totalMoney = totalMoney + adultnumber * adultfare +
                childnumber * childfare;
            String bookNum = string[3] + string[4] +
                String.valueOf( (int) (500 * Math.random()));
            string[16] = bookNum;
            string[21] = "" + totalMoney;
            JOptionPane.showMessageDialog(this,
                                          "   恭喜!提交成功\n你的定单号是" + bookNum +
                                          "\n" + "你应付价钱为" + totalMoney,
                                          "客户信息",
                                          JOptionPane.INFORMATION_MESSAGE);
            this.dispose();

            new BookInfo(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(" ");
              }
            }
          }

        }

      }
    }
    if (e.getSource() == rewrite) {
      jbtname.setText("");
      jbtid.setText("");
      jbtadultticketnumber.setText("");
      jbtchildticketnumber.setText("");
      jbttelephone.setText("");
      jbtqq.setText("");
      jbtemail.setText("");
      jbtps.setText("");
    }
    if (e.getSource() == return1) {
      this.dispose();
    }

  }

  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 + -