?? checkflightdlg.java
字號:
package flight;
import java.awt.*;
import java.util.*;
import javax.swing.*;
import java.awt.Rectangle;
import java.awt.Font;
import java.awt.Dimension;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
public class CheckFlightDlg extends JDialog {
JPanel panel1 = new JPanel();
JScrollPane jScrollPane1 = new JScrollPane();
JTable jTable1 = new JTable();
JLabel lblBeginCity = new JLabel();
JLabel lblArriveCity = new JLabel();
JComboBox cboBeginCity = new JComboBox();
JComboBox cboArriveCity = new JComboBox();
JButton btnQuery = new JButton();
JLabel lblBook = new JLabel();
JTextField txtBook = new JTextField();
JButton btnBook = new JButton();
int selectedFlightID = 0;
int selectedTicketID = 0;
public CheckFlightDlg(Frame owner, String title, boolean modal) {
super(owner, title, modal);
try {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jbInit();
pack();
} catch (Exception exception) {
exception.printStackTrace();
}
}
public CheckFlightDlg() {
this(new Frame(), "CheckFlightDlg", false);
}
private void jbInit() throws Exception {
panel1.setLayout(null);
this.setResizable(false);
jScrollPane1.setAutoscrolls(true);
jScrollPane1.setBounds(new Rectangle(25, 63, 351, 305));
lblBeginCity.setFont(new java.awt.Font("宋體", Font.PLAIN, 15));
lblBeginCity.setText("起點城市:");
lblBeginCity.setBounds(new Rectangle(25, 18, 78, 30));
lblArriveCity.setFont(new java.awt.Font("宋體", Font.PLAIN, 15));
lblArriveCity.setText("終點城市:");
lblArriveCity.setBounds(new Rectangle(180, 18, 78, 30));
cboBeginCity.setBounds(new Rectangle(99, 18, 72, 29));
cboBeginCity.addItemListener(new
CheckFlightDlg_cboBeginCity_itemAdapter(this));
cboArriveCity.setBounds(new Rectangle(252, 18, 72, 29));
cboArriveCity.addItemListener(new
CheckFlightDlg_cboArriveCity_itemAdapter(this));
btnQuery.setBounds(new Rectangle(332, 18, 58, 28));
btnQuery.setEnabled(false);
btnQuery.setText("查詢");
btnQuery.addActionListener(new CheckFlightDlg_btnQuery_actionAdapter(this));
lblBook.setFont(new java.awt.Font("宋體", Font.PLAIN, 15));
lblBook.setText("訂票數量:");
lblBook.setBounds(new Rectangle(25, 380, 84, 31));
txtBook.setBounds(new Rectangle(114, 380, 107, 30));
btnBook.setBounds(new Rectangle(297, 380, 78, 30));
btnBook.setEnabled(false);
btnBook.setText("訂票");
btnBook.addActionListener(new CheckFlightDlg_btnBook_actionAdapter(this));
jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jTable1.addMouseListener(new CheckFlightDlg_jTable1_mouseAdapter(this));
getContentPane().add(panel1);
panel1.add(jScrollPane1);
panel1.add(lblBeginCity);
panel1.add(lblArriveCity);
panel1.add(cboBeginCity);
panel1.add(cboArriveCity);
panel1.add(btnQuery);
panel1.add(lblBook);
panel1.add(txtBook);
panel1.add(btnBook);
jScrollPane1.getViewport().add(jTable1);
this.setPreferredSize(new Dimension(410, 450));
addBeginCityName();
addArriveCityName();
}
private void addBeginCityName() {
Vector name = MainFrame.connObj.getCityName("beginCity");
cboBeginCity.addItem("");
for (int i = 0; i < name.size(); i++) {
cboBeginCity.addItem(name.elementAt(i));
}
}
private void addArriveCityName() {
Vector name = MainFrame.connObj.getCityName("endCity");
cboArriveCity.addItem("");
for (int i = 0; i < name.size(); i++) {
cboArriveCity.addItem(name.elementAt(i));
}
}
private void queryEnable() {
boolean begin = false;
boolean arrive = false;
if (cboArriveCity.getSelectedItem() != null) {
if (cboArriveCity.getSelectedIndex() != 0) {
arrive = true;
}
}
if (cboBeginCity.getSelectedItem() != null) {
if (cboBeginCity.getSelectedIndex() != 0) {
begin = true;
}
}
if (begin == true && arrive == true) {
btnQuery.setEnabled(true);
} else {
btnQuery.setEnabled(false);
}
}
public static boolean strCheck(String str) {
char[] ch = str.toCharArray();
boolean flag = true;
for (int i = 0; i < ch.length; i++) {
if (!Character.isDigit(ch[i])) {
flag = false;
break;
}
}
return flag;
}
public void cboBeginCity_itemStateChanged(ItemEvent e) {
queryEnable();
btnBook.setEnabled(false);
}
public void cboArriveCity_itemStateChanged(ItemEvent e) {
queryEnable();
btnBook.setEnabled(false);
}
public void btnQuery_actionPerformed(ActionEvent e) {
String beginCity = cboBeginCity.getSelectedItem().toString();
String endCity = cboArriveCity.getSelectedItem().toString();
if (beginCity.equals(endCity)) {
JOptionPane.showMessageDialog(this, "不能選擇相同城市!");
return;
}
MainFrame.connObj.showFlightTable(beginCity, endCity, jTable1);
}
public void jTable1_mouseClicked(MouseEvent e) {
selectedFlightID = Integer.parseInt(jTable1.getValueAt(jTable1.getSelectedRow(),
0).toString());
selectedTicketID = MainFrame.connObj.getTicketID(selectedFlightID);
btnBook.setEnabled(true);
}
public void btnBook_actionPerformed(ActionEvent e) {
String num = txtBook.getText().trim();
String identify = "";
if (num.equals("")) {
JOptionPane.showMessageDialog(this, "請輸入訂票數量!");
return;
}
if (strCheck(num)) {
identify = JOptionPane.showInputDialog(this,"請輸入身份證號碼:");
if (identify.equals("")){
JOptionPane.showMessageDialog(this,"身份證號碼不能為空!");
return;
}else{
if (JOptionPane.showConfirmDialog(this,
"是否預定編號為" + selectedFlightID +
"的機票" + num + "張?") ==
JOptionPane.YES_OPTION) {
if(MainFrame.connObj.buyTicket(selectedFlightID,
Integer.parseInt(num), identify)) {
JOptionPane.showMessageDialog(this,"訂票成功!");
}else {
JOptionPane.showMessageDialog(this,"訂票失敗!");
}
}
}
} else {
JOptionPane.showMessageDialog(this, "請不要輸入非法數據!");
return;
}
}
}
class CheckFlightDlg_btnBook_actionAdapter implements ActionListener {
private CheckFlightDlg adaptee;
CheckFlightDlg_btnBook_actionAdapter(CheckFlightDlg adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnBook_actionPerformed(e);
}
}
class CheckFlightDlg_jTable1_mouseAdapter extends MouseAdapter {
private CheckFlightDlg adaptee;
CheckFlightDlg_jTable1_mouseAdapter(CheckFlightDlg adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.jTable1_mouseClicked(e);
}
}
class CheckFlightDlg_btnQuery_actionAdapter implements ActionListener {
private CheckFlightDlg adaptee;
CheckFlightDlg_btnQuery_actionAdapter(CheckFlightDlg adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnQuery_actionPerformed(e);
}
}
class CheckFlightDlg_cboBeginCity_itemAdapter implements ItemListener {
private CheckFlightDlg adaptee;
CheckFlightDlg_cboBeginCity_itemAdapter(CheckFlightDlg adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.cboBeginCity_itemStateChanged(e);
}
}
class CheckFlightDlg_cboArriveCity_itemAdapter implements ItemListener {
private CheckFlightDlg adaptee;
CheckFlightDlg_cboArriveCity_itemAdapter(CheckFlightDlg adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.cboArriveCity_itemStateChanged(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -