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

📄 ticketframe.java~44~

📁 java源代码
💻 JAVA~44~
字号:
package trainticket;

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.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.SQLException;
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.PreparedStatement;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author 秦川恒
 * @version 1.0
 */
public class TicketFrame extends JFrame {
    JPanel contentPane;
    JLabel lblTitle = new JLabel();
    JLabel lblTrainNo = new JLabel();
    JLabel lblWay = new JLabel();
    JLabel lblNum = new JLabel();
    JButton btnOk = new JButton();
    JTextField txtTrainNo = new JTextField();
    JTextField tetNum = new JTextField();
    ButtonGroup btngrpSelect = new ButtonGroup();
    JRadioButton radSeat = new JRadioButton();
    JRadioButton radBed = new JRadioButton();
    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(400, 300));
        setTitle("订购火车票");

        lblTitle.setFont(new java.awt.Font("Dialog", Font.BOLD, 18));
        lblTitle.setHorizontalAlignment(SwingConstants.CENTER);
        lblTitle.setHorizontalTextPosition(SwingConstants.CENTER);
        lblTitle.setText("订 购 火 车 票");
        lblTitle.setBounds(new Rectangle(106, 15, 192, 42));
        lblTrainNo.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        lblTrainNo.setHorizontalAlignment(SwingConstants.CENTER);
        lblTrainNo.setHorizontalTextPosition(SwingConstants.CENTER);
        lblTrainNo.setText("火车车次:");
        lblTrainNo.setBounds(new Rectangle(65, 85, 81, 25));
        lblWay.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        lblWay.setHorizontalAlignment(SwingConstants.CENTER);
        lblWay.setHorizontalTextPosition(SwingConstants.CENTER);
        lblWay.setText("乘车方式:");
        lblWay.setBounds(new Rectangle(65, 126, 81, 25));
        lblNum.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        lblNum.setHorizontalAlignment(SwingConstants.CENTER);
        lblNum.setHorizontalTextPosition(SwingConstants.CENTER);
        lblNum.setText("订购数量:");
        lblNum.setBounds(new Rectangle(65, 164, 81, 25));
        btnOk.setBounds(new Rectangle(154, 207, 103, 33));
        btnOk.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        btnOk.setText("确 定");
        btnOk.addActionListener(new TicketFrame_btnOk_actionAdapter(this));
        txtTrainNo.setText("");
        txtTrainNo.setBounds(new Rectangle(147, 82, 114, 26));
        tetNum.setBounds(new Rectangle(146, 167, 114, 26));
        radSeat.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        radSeat.setText("硬坐");
        radSeat.setBounds(new Rectangle(149, 131, 56, 25));
        radBed.setFont(new java.awt.Font("Dialog", Font.PLAIN, 13));
        radBed.setText("硬卧");
        radBed.setBounds(new Rectangle(209, 132, 56, 25));

        contentPane.add(lblTitle);
        contentPane.add(lblTrainNo);
        contentPane.add(lblWay);
        contentPane.add(lblNum);
        contentPane.add(btnOk);
        contentPane.add(txtTrainNo);
        contentPane.add(tetNum);
        contentPane.add(radSeat);
        contentPane.add(radBed);
        btngrpSelect.add(radSeat);
        btngrpSelect.add(radBed);

    }

    /**
     * 此方法为定义数据库驱动
     */
    public void Connectsql() {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        } catch (ClassNotFoundException ce) {
            System.out.println(ce);
        }
    }


    public void btnOk_actionPerformed(ActionEvent e) {
        this.Connectsql();
        String No = txtTrainNo.getText();
        String num = tetNum.getText();
        if (No.equals("")) {
        } else {
            //连接数据库
            try {
                String url = "jdbc:odbc:AccpTest";
                Connection con = DriverManager.getConnection(url);
                Statement s = con.createStatement();
                ResultSet rs = s.executeQuery(
                        "select * from TrainTicket where TrainNo = '" + No +"'");
                if (rs.next()) {
                   int numa = Integer.parseInt(rs.getString(2));
                   int numb = Integer.parseInt(rs.getString(3));
                    //判断硬卧是否有票,如果有就通知要支付多少钱
                    if (radSeat.isSelected()) {
                        if (Integer.parseInt(num) <= numa) {
                            JOptionPane.showMessageDialog(null,
                                    "车票订购成功,请支付" +
                                    Float.parseFloat(rs.getString(4)) *
                                           Float.parseFloat(num) + "元!",
                                           "提示消息",
                                           JOptionPane.QUESTION_MESSAGE);
                                   s.executeUpdate("update TrainTicket set seatNum = " + (numa -
                                         Integer.parseInt(num)) +
                                           "where TrainNo = '" + No +"'");
                        } else {
                            JOptionPane.showMessageDialog(null,
                                    "车票订购失败!原因:车票数量不足。",
                                    "提示消息",
                                    JOptionPane.QUESTION_MESSAGE);
                        }
                        //判断硬卧是否有票,如果有就通知要支付多少钱
                    } else if (radBed.isSelected()) {
                        if (Integer.parseInt(num) <= numb) {
                            JOptionPane.showMessageDialog(null,
                                    "车票订购成功,请支付" +
                                    Float.parseFloat(rs.getString(5)) *
                                           Float.parseFloat(num) + "元!",
                                           "提示消息",
                                           JOptionPane.QUESTION_MESSAGE);
                                   s.executeUpdate("update TrainTicket set seatNum = " + (numb -
                                                Integer.parseInt(num)) +
                                               "where TrainNo = '" + No + "'");

                        } else {
                            JOptionPane.showMessageDialog(null,
                                    "车票订购失败!原因:车票数量不足。",
                                    "提示消息",
                                    JOptionPane.QUESTION_MESSAGE);
                        }
                    }
                } else {
                    JOptionPane.showMessageDialog(null, "车次输入有误", "提示消息",
                                                  JOptionPane.QUESTION_MESSAGE);
                }
//                rs.close();
                s.close();
                con.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
}


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

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

⌨️ 快捷键说明

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