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

📄 ticketframe.java

📁 一个模拟订购火车票的小程序 jbuilder2005 开发 MS2000 做数据库
💻 JAVA
字号:
package test;

import java.awt.BorderLayout;
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import java.awt.*;
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JRadioButton;
import javax.swing.ButtonGroup;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class TicketFrame extends JFrame {
    JPanel contentPane;
    JLabel jLabel1 = new JLabel();
    JLabel jLabel2 = new JLabel();
    JLabel jLabel3 = new JLabel();
    JLabel jLabel4 = new JLabel();
    JButton btnYes = new JButton();
    JTextField txtTrainNo = new JTextField();
    JRadioButton rabSeat = new JRadioButton();
    JRadioButton rabBed = new JRadioButton();
    ButtonGroup buttonGroup1 = new ButtonGroup();
    JLabel jLabel5 = new JLabel();
    JLabel jLabel6 = new JLabel();
    JTextField txtNum = new JTextField();
    public TicketFrame() {
        try {
            setDefaultCloseOperation(EXIT_ON_CLOSE);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    /**
     * Component initialization.
     *
     * @throws java.lang.Exception
     */
    private void jbInit() throws Exception {
        contentPane = (JPanel) getContentPane();
        contentPane.setLayout(null);
        setSize(new Dimension(370, 380));
        setTitle("");
        jLabel1.setFont(new java.awt.Font("Dialog", Font.BOLD, 18));
        jLabel1.setText("订购火车票");
        jLabel1.setBounds(new Rectangle(140, 27, 101, 28));
        jLabel2.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
        jLabel2.setText("乘车方式:");
        jLabel2.setBounds(new Rectangle(71, 148, 87, 25));
        jLabel3.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
        jLabel3.setText("订购数量:");
        jLabel3.setBounds(new Rectangle(71, 204, 87, 25));
        jLabel4.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
        jLabel4.setText("火车车次:");
        jLabel4.setBounds(new Rectangle(71, 92, 87, 25));
        btnYes.setBounds(new Rectangle(149, 276, 73, 29));
        btnYes.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
        btnYes.setText("确定");
        btnYes.addActionListener(new TicketFrame_btnYes_actionAdapter(this));
        txtTrainNo.setText("");
        txtTrainNo.setBounds(new Rectangle(169, 92, 100, 25));
        rabSeat.setSelected(true);
        rabSeat.setBounds(new Rectangle(168, 148, 27, 25));
        rabBed.setBounds(new Rectangle(239, 148, 27, 25));
        jLabel5.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
        jLabel5.setText("硬座");
        jLabel5.setBounds(new Rectangle(194, 148, 37, 25));
        jLabel6.setFont(new java.awt.Font("Dialog", Font.PLAIN, 14));
        jLabel6.setText("硬卧");
        jLabel6.setBounds(new Rectangle(269, 148, 33, 25));
        txtNum.setBounds(new Rectangle(169, 204, 100, 25));
        contentPane.add(jLabel1);
        contentPane.add(btnYes);
        contentPane.add(jLabel2);
        contentPane.add(jLabel4);
        contentPane.add(jLabel3);
        contentPane.add(txtTrainNo);
        contentPane.add(rabSeat);
        contentPane.add(jLabel5);
        contentPane.add(jLabel6);
        contentPane.add(rabBed);
        contentPane.add(txtNum);
        buttonGroup1.add(rabSeat);
        buttonGroup1.add(rabBed);
    }

    public void btnYes_actionPerformed(ActionEvent e) {//确定按钮(订购火车票)
       String trainNo=this.txtTrainNo.getText().trim();
       String num=this.txtNum.getText().trim();
       String temp="";
       if(this.rabSeat.isSelected()==true)
           temp="硬座";
       else
           temp="硬卧";

       if(trainNo.length()==0){//提示输入火车车次
           javax.swing.JOptionPane.showMessageDialog(this,"请填写车次");
           return;
       }
       if(num.length()==0){//提示输入订购数量
           javax.swing.JOptionPane.showMessageDialog(this,"请填写订购数量");
           return;
       }

    try {    //如果顶票数量不是数字,提示。
        Integer.parseInt(num);
    } catch (NumberFormatException ex) {
        javax.swing.JOptionPane.showMessageDialog(this,"订购数量必须为数字","错误",javax.swing.JOptionPane.ERROR_MESSAGE);
           ex.printStackTrace();
           return;
    }

    Model model=new Model();
    model.setTrainNo(trainNo);
    model.setTemp(temp);//看选择的是硬座还是硬卧
    model.setBedNum(num);
    model.setSeatNum(num);
    model.setTempNum(num);

    if(model.selecttrainNo()==true){
        int bednum=Integer.parseInt(model.getBedNum());//获取用户输入车次的硬卧和硬座各有多少
        int seatnum=Integer.parseInt(model.getSeatNum());
         int num1=Integer.parseInt(num);//用户要求订购的数量
        if(this.rabBed.isSelected()==true){//如果用户选择的乘车方式是硬卧,则硬卧剩余数量必须大于用户订购数量
            if(num1>bednum){
                javax.swing.JOptionPane.showMessageDialog(this,
                        "订购失败!原因:车票数量不足。", "错误",
                        javax.swing.JOptionPane.ERROR_MESSAGE);
                return;
            }
        }
        if(this.rabSeat.isSelected()==true){//如果用户选择的乘车方式是硬座,则硬卧剩余数量必须大于用户订购数量
          if(num1>seatnum){
              javax.swing.JOptionPane.showMessageDialog(this,
                      "订购失败!原因:车票数量不足。", "错误",
                      javax.swing.JOptionPane.ERROR_MESSAGE);
              return;
          }
      }

         model.update();//订购成功,修改该车次信息

        if(this.rabSeat.isSelected()==true){//如果选择的是硬座
           float tempprice=java.lang.Float.parseFloat(model.getSeatPrice()); //转为FLOAT型
           float tempNum=java.lang.Float.parseFloat(num);//转为FLOAT型
           float shopprice=tempprice*tempNum;
            javax.swing.JOptionPane.showMessageDialog(this, "车票订购成功,请支付"+shopprice+"元!", "message",
                    javax.swing.JOptionPane.ERROR_MESSAGE);
       }
       if(this.rabBed.isSelected()==true){//如果选择的是硬卧
           float tempprice=java.lang.Float.parseFloat( model.getBedPrice()); //转为FLOAT型
           float tempNum=java.lang.Float.parseFloat(num);//转为FLOAT型
           float shopprice=tempprice*tempNum;
          javax.swing.JOptionPane.showMessageDialog(this, "车票订购成功,请支付"+shopprice+"元!", "message",
                    javax.swing.JOptionPane.ERROR_MESSAGE);

       }

    }
    else    //如果查出没有此车次,提示。
    {
        javax.swing.JOptionPane.showMessageDialog(this,"对不起,没有此车次","错误",javax.swing.JOptionPane.ERROR_MESSAGE);
        return;
   }
    }
}


class TicketFrame_btnYes_actionAdapter implements ActionListener {
    private TicketFrame adaptee;
    TicketFrame_btnYes_actionAdapter(TicketFrame adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.btnYes_actionPerformed(e);
    }
}

⌨️ 快捷键说明

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