📄 clientframe.java~32~
字号:
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.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(submit);
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("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 + -