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

📄 ticketrefund.java

📁 航班查询与订票系统 用Java与sqlserver2000来编写一个航班查询与订票系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package flight.ticketrefund;

import flight.assist.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.border.*;
import java.util.*;
import java.sql.*;
/**
 * 退票
 */

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

  private JTextField bookIDTextField = new JTextField(15), customerIDTextField = new JTextField(20),
      nameTextField = new JTextField(8), flightInfoTextField = new JTextField(27),
      childNumTextField = new JTextField(8), adultNumTextField = new JTextField(8),
      originCostTextField = new JTextField(8), refundCostTextField = new JTextField(8),
      timeTextField1 = new JTextField(8),
      timeTextField2 = new JTextField(8),
      childRefundNumTextField = new JTextField("0", 10),
      adultRefundNumTextField = new JTextField("0", 10);

  private JButton queryButton = new JButton("查询"), okButton = new JButton("退票"),
      cancelButton = new JButton("退出"), rewriteButton = new JButton("重填");

  private JLabel timeLabel1 = new JLabel("      出发时间"),
      timeLabel2 = new JLabel("            ");

  private String name, flight1, flight2, ticketType,
      leaveTime1, leaveTime2,
      childNum, adultNum, cost;

  private SeatInfo seatInfo = new SeatInfo();

  public TicketRefund() {
    nameTextField.setEditable(false);
    flightInfoTextField.setEditable(false);
    childNumTextField.setEditable(false);
    adultNumTextField.setEditable(false);
    originCostTextField.setEditable(false);
    refundCostTextField.setEditable(false);
    timeTextField1.setEditable(false);
    timeTextField2.setEditable(false);

    JLabel orderIDLabel = new JLabel("订 单 号 ");
    JLabel jlID = new JLabel("   身份证号");

    JPanel jpInput = new JPanel(new FlowLayout(FlowLayout.LEFT));
    jpInput.setBorder(new TitledBorder("输入信息"));

    jpInput.add(orderIDLabel);
    jpInput.add(bookIDTextField);
    jpInput.add(jlID);
    jpInput.add(customerIDTextField);

    JLabel jlName = new JLabel("客户姓名");
    JLabel jlFlight = new JLabel("  航班信息");
    JLabel jlChild = new JLabel("儿童票数");
    JLabel jlAdult = new JLabel("成人票数");
    JLabel jlOriCost = new JLabel("原  票  价");
    JLabel jlTuiCost = new JLabel("退  票  价");

    JPanel jpTop = new JPanel(new FlowLayout(FlowLayout.LEFT));
    jpTop.add(jlName);
    jpTop.add(nameTextField);
    jpTop.add(jlFlight);
    jpTop.add(flightInfoTextField);

    JPanel jpNum = new JPanel();
    jpNum.setLayout(new GridLayout(2, 1));
    JPanel jp1 = new JPanel();
    jp1.add(jlChild);
    jp1.add(childNumTextField);
    JPanel jp2 = new JPanel();
    jp2.add(jlAdult);
    jp2.add(adultNumTextField);
    jpNum.add(jp1);
    jpNum.add(jp2);

    JPanel jpCost = new JPanel();
    jpCost.setLayout(new GridLayout(2, 1));
    JPanel jp3 = new JPanel();
    jp3.add(jlOriCost);
    jp3.add(originCostTextField);
    JPanel jp4 = new JPanel();
    jp4.add(jlTuiCost);
    jp4.add(refundCostTextField);
    jpCost.add(jp3);
    jpCost.add(jp4);

    JPanel jpTime = new JPanel();
    jpTime.setLayout(new GridLayout(2, 1));
    JPanel jp5 = new JPanel();
    jp5.add(timeLabel1);
    jp5.add(timeTextField1);
    JPanel jp6 = new JPanel();
    jp6.add(timeLabel2);
    jp6.add(timeTextField2);
    jpTime.add(jp5);
    jpTime.add(jp6);

    JPanel jpCenter = new JPanel();
    jpCenter.setLayout(new BorderLayout());
    jpCenter.add(jpNum, BorderLayout.WEST);
    jpCenter.add(jpCost, BorderLayout.CENTER);
    jpCenter.add(jpTime, BorderLayout.EAST);

    JPanel jpInfo = new JPanel();
    jpInfo.setBorder(new TitledBorder("基本信息"));
    jpInfo.setLayout(new BorderLayout());
    jpInfo.add(jpTop, BorderLayout.NORTH);
    jpInfo.add(jpCenter, BorderLayout.CENTER);

    timeLabel2.setVisible(false);
    timeTextField2.setVisible(false);

    JPanel jpTuiPiao = new JPanel(new FlowLayout(FlowLayout.CENTER));
    jpTuiPiao.setBorder(new TitledBorder("退票"));
    jpTuiPiao.add(new JLabel("退票数:"));
    jpTuiPiao.add(new JLabel("儿童票"));
    jpTuiPiao.add(childRefundNumTextField);
    jpTuiPiao.add(new JLabel("成人票:"));
    jpTuiPiao.add(adultRefundNumTextField);

    JPanel jpButtons = new JPanel(new FlowLayout(FlowLayout.CENTER));
    jpButtons.setBorder(new TitledBorder("操作"));
    jpButtons.add(queryButton);
    jpButtons.add(rewriteButton);
    jpButtons.add(okButton);
    jpButtons.add(cancelButton);

    JPanel jp = new JPanel();
    jp.setLayout(new BorderLayout());
    jp.add(jpInput, BorderLayout.NORTH);
    jp.add(jpInfo, BorderLayout.CENTER);
    jp.add(jpTuiPiao, BorderLayout.SOUTH);

    JPanel jpTotal = new JPanel();
    jpTotal.setBorder(new MatteBorder(new ImageIcon("border.gif")));
    jpTotal.setLayout(new BorderLayout());
    jpTotal.add(jp, BorderLayout.CENTER);
    jpTotal.add(jpButtons, BorderLayout.SOUTH);

    this.getContentPane().add(jpTotal);

    queryButton.addActionListener(this);
    rewriteButton.addActionListener(this);
    okButton.addActionListener(this);
    cancelButton.addActionListener(this);

    this.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        TicketRefund.this.setVisible(false);
        TicketRefund.this.dispose();
      }
    }
    );

    this.setSize(470, 370);
    this.setResizable(false);
    this.setTitle("航班退票系统");

  }

  public void actionPerformed(ActionEvent e) {
    if (e.getSource() == queryButton)//查询
      query();
    else if (e.getSource() == rewriteButton)//清空
      rewrite();
    else if (e.getSource() == okButton)//提交
      refund();
    else if (e.getSource() == cancelButton) {//取消
      this.setVisible(false);
      this.dispose();
    }
  }
  /**
   * 查询订单消息
   */
  private void query() {
    String bookID = bookIDTextField.getText().trim();
    if (bookID.length() == 0) {
      JOptionPane.showMessageDialog(null, "订单号不能为空",
                                    "错误信息", JOptionPane.ERROR_MESSAGE);
      return;
    }

    String id = customerIDTextField.getText().trim();
    if (id.length() == 0) {
      JOptionPane.showMessageDialog(null, "身份证号不能为空",
                                    "错误信息", JOptionPane.ERROR_MESSAGE);
      return;
    }

    boolean isValid = getClientInfo(bookID, id);

    if (isValid == false) {
      rewrite();
      return;
    }

    else {
      nameTextField.setText(name);
      childNumTextField.setText(childNum);
      adultNumTextField.setText(adultNum);
      originCostTextField.setText(cost);
      refundCostTextField.setText("退还70%价钱");

      if (Integer.parseInt(childNum) == 0) {
        childRefundNumTextField.setText("0");
        childRefundNumTextField.setEditable(false);
      }
      else {
        childRefundNumTextField.setEditable(true);
      }

      if (Integer.parseInt(adultNum) == 0) {
        adultRefundNumTextField.setText("0");
        adultRefundNumTextField.setEditable(false);
      }
      else {
        adultRefundNumTextField.setEditable(true);
      }

      if (ticketType.equals("单程")) {
        timeLabel1.setText("出发时间");
        timeTextField1.setText(leaveTime1);

        timeLabel2.setVisible(false);
        timeTextField2.setVisible(false);

        flightInfoTextField.setText("(单程机票)" + "航班号:" + flight1);
      }

      else if (ticketType.equals("往返")) {
        timeLabel1.setText("出发时间");
        timeTextField1.setText(leaveTime1);

        timeLabel2.setText("返回时间");
        timeLabel2.setVisible(true);

        timeTextField2.setText(leaveTime2);
        timeTextField2.setVisible(true);

        flightInfoTextField.setText("(往返机票) " + " 去: " + flight1 + "; 返: " + flight2);
      }

      else if (ticketType.equals("联程")) {
        timeLabel1.setText("第一出发时间");
        timeTextField1.setText(leaveTime1);

        timeLabel2.setText("第二出发时间");
        timeLabel2.setVisible(true);
        timeTextField2.setText(leaveTime2);
        timeTextField2.setVisible(true);

        flightInfoTextField.setText("(联程机票) " + "航班1: " + flight1 + "; 航班2: " +
                              flight2);
      }
    }
  }
  /**
   * 清空个字段
   */
  private void rewrite() {
    bookIDTextField.setText("");
    customerIDTextField.setText("");

⌨️ 快捷键说明

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