package com.sanqing.server;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Calendar;
import javax.swing.*;
import com.sanqing.dao.FlightDAO;
import com.sanqing.model.*;
public class AddFlightSchedularDialog extends JDialog implements ActionListener {
JLabel[] labs;
JTextField[] texts;
JCheckBox[] checks;
JComboBox jcb;
JButton ok, cancel;
JPanel jp1, jp2, jp3;
JPanel[] jps;
String[] str1 = { "添加航班计划", "航班号:", "出发地:", "目的地:", "起飞时间:", "时", "分",
"到达时间:", "时", "分", "班期:", "开始日期:", "年", "月", "日", "结束日期:", "年",
"月", "日", "总里程", "公里", "全价", "元", "执行机型" };
String[] str2 = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
public AddFlightSchedularDialog(JFrame f) {
super(f, "添加航班计划", true);
labs = new JLabel[str1.length]; //创建标签数组
texts = new JTextField[15]; //文本框数组
checks = new JCheckBox[7]; //复选项数组
ok = new JButton("添加"); //添加按钮
cancel = new JButton("取消"); //取消按钮
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jps = new JPanel[11];
for (int i = 0; i < jps.length; i++) {
jps[i] = new JPanel();
jps[i].setLayout(new FlowLayout(FlowLayout.LEFT));
}
for (int i = 0; i < labs.length; i++) {
labs[i] = new JLabel(str1[i]);
}
for (int i = 0; i < texts.length; i++) {
texts[i] = new JTextField(10);
}
texts[3].setColumns(2);
texts[4].setColumns(2);
texts[5].setColumns(2);
texts[6].setColumns(2);
texts[7].setColumns(4);
texts[8].setColumns(2);
texts[9].setColumns(2);
texts[10].setColumns(4);
texts[11].setColumns(2);
texts[12].setColumns(2);
for (int i = 0; i < checks.length; i++) {
checks[i] = new JCheckBox(str2[i], true);
}
jcb = new JComboBox(ServerMainClass.allPlaneModels.toArray()); //获取全部机型
init();
addEventHandle();
}
private void init() {
jp1.add(labs[0]);// 标题
this.add(jp1, BorderLayout.NORTH);
jps[0].add(labs[1]);
jps[0].add(texts[0]);
jps[1].add(labs[2]);
jps[1].add(texts[1]);
jps[2].add(labs[3]);
jps[2].add(texts[2]);
jps[3].add(labs[4]);
jps[3].add(texts[3]);
jps[3].add(labs[5]);
jps[3].add(texts[4]);
jps[3].add(labs[6]);
jps[4].add(labs[7]);
jps[4].add(texts[5]);
jps[4].add(labs[8]);
jps[4].add(texts[6]);
jps[4].add(labs[9]);
jps[5].add(labs[10]);
for (int i = 0; i < checks.length; i++) {
jps[5].add(checks[i]);
}
jps[6].add(labs[11]);
jps[6].add(texts[7]);
jps[6].add(labs[12]);
jps[6].add(texts[8]);
jps[6].add(labs[13]);
jps[6].add(texts[9]);
jps[6].add(labs[14]);
jps[7].add(labs[15]);
jps[7].add(texts[10]);
jps[7].add(labs[16]);
jps[7].add(texts[11]);
jps[7].add(labs[17]);
jps[7].add(texts[12]);
jps[7].add(labs[18]);
jps[8].add(labs[19]);
jps[8].add(texts[13]);
jps[8].add(labs[20]);
jps[9].add(labs[21]);
jps[9].add(texts[14]);
jps[9].add(labs[22]);
jps[10].add(labs[23]);
jps[10].add(jcb);
jp2.setLayout(new GridLayout(11, 1));
for (int i = 0; i < jps.length; i++) {
jp2.add(jps[i]);
}
this.add(jp2, BorderLayout.CENTER);
jp3.add(ok);
jp3.add(cancel);
this.add(jp3, BorderLayout.SOUTH);
}
private void addEventHandle() { //添加事件方法
ok.addActionListener(this); //为添加按钮注册事件
cancel.addActionListener(this); //为取消按钮注册事件
}
public void showMe() {
this.setSize(600, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("取消")) { //如果单击取消按钮
this.dispose(); //关闭对话框
} else if (e.getActionCommand().equals("添加")) { //如果单击添加按钮
FlightSchedular fs = new FlightSchedular(texts[0].getText()); //创建航班计划对象
fs.setFromAddress(texts[1].getText()); //设置出发地
fs.setToAddress(texts[2].getText()); //设置目的地
fs.setFromTime(new MyTime(Integer.parseInt(texts[3].getText()),
Integer.parseInt(texts[4].getText()))); //设置起飞时间
fs.setToTime(new MyTime(Integer.parseInt(texts[5].getText()),
Integer.parseInt(texts[6].getText()))); //设置到达时间
fs.setSchedular(getSch()); //设置班期
Calendar startcal = Calendar.getInstance();
startcal.set(Calendar.YEAR, Integer.parseInt(texts[7].getText()));
startcal.set(Calendar.MONTH, Integer.parseInt(texts[8].getText()));
startcal.set(Calendar.DATE, Integer.parseInt(texts[9].getText()));
fs.setStartDate(startcal); //设置开始日期
Calendar endcal = Calendar.getInstance();
endcal.set(Calendar.YEAR, Integer.parseInt(texts[10].getText()));
endcal.set(Calendar.MONTH, Integer.parseInt(texts[11].getText()));
endcal.set(Calendar.DATE, Integer.parseInt(texts[12].getText()));
fs.setEndDate(endcal); //设置结束日期
fs.setLength(Integer.parseInt(texts[13].getText())); //设置航程
fs.setPrice(Double.parseDouble(texts[14].getText())); //设置全价
fs.setPlane((PlaneModel) jcb.getSelectedItem()); //设置机型
try {
FlightDAO f = ServerMainClass.flightDaoSch; //获取航班计划DAO
boolean success = f.addFlightSchedular(fs); //保存航班计划对象
if (success) {
JOptionPane.showMessageDialog(this, "添加航班计划成功!");
this.dispose();
} else {
JOptionPane.showMessageDialog(this, "添加航班计划失败!");
this.dispose();
}
} catch (Exception e1) {
e1.printStackTrace();
}
}
}
//解析星期表
private byte getSch() {
String str = "";
for (int i = 0; i < checks.length; i++) {
if (checks[i].isSelected())
str = str + 1;
else
str = str + 0;
}
return (byte) Integer.parseInt(str, 2);
}
private void addFLT(FlightSchedular fs) {
FlightDAO f = ServerMainClass.flightDaoSch;
Calendar cal = fs.getStartDate();
while (cal.compareTo(fs.getEndDate()) <= 0) { //开始日期小于结束日期
byte wd = (byte) cal.get(Calendar.DAY_OF_WEEK);
byte i = 1;
i = (byte) (i << (7 - wd));
if ((((byte) i) & (fs.getSchedular())) != 0) {
Flight fl = fs.createNewFlight(cal);
boolean b = f.addFlight(fl);
if (b) {
System.out.println("OK");
}
}
cal.add(Calendar.DATE,1);
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
航空票务管理系统(JAVA+sqlserver)
共126个文件
class:54个
java:52个
xml:14个
5星 · 超过95%的资源 需积分: 10 84 下载量 139 浏览量
2013-07-06
10:28:40
上传
评论 14
收藏 330KB ZIP 举报
温馨提示
航空票务管理系统(JAVA+sqlserver)
资源详情
资源评论
资源推荐
收起资源包目录
航空票务管理系统(JAVA+sqlserver) (126个子文件)
AddFlightSchedularDialog.class 8KB
FlightSchedular.class 7KB
TicketOrder.class 7KB
Controller.class 5KB
ServerMainFrame.class 5KB
OrderFrame.class 5KB
SeachFlightPanel.class 5KB
SearchOrderFromBranch.class 5KB
SearchFlightSch.class 4KB
LoginFrame.class 4KB
AddFlight.class 4KB
ClientMainFrame.class 4KB
OrderItemPanel.class 4KB
ModifyAgentPasswdDialog.class 4KB
AddPlaneModelDialog.class 4KB
AddBranchDialog.class 3KB
Flight.class 3KB
AddOrderItemPanel.class 3KB
FlightDaoFromHbn.class 3KB
MyDate.class 3KB
PlaneModel.class 3KB
JdbcUtil.class 3KB
RemoveBranchDialog.class 3KB
PlaneModelDaoFromHbn.class 3KB
RemoveFlightSchedularDialog.class 3KB
ArrayListTableModel.class 3KB
MyDateTest.class 2KB
TicketOrderDaoFromDB.class 2KB
ServerMainClass.class 2KB
Branch.class 2KB
MyTime.class 2KB
Order.class 2KB
ClientMainClass.class 2KB
CabinClass.class 2KB
FlightTableModel.class 2KB
FlightSchedularTableModel.class 2KB
BranchDaoFromHbn.class 2KB
SearchPanel.class 2KB
TicketType.class 2KB
ClientMainFrame$1.class 2KB
SearchAllOrder.class 1KB
SearchAllBranchs.class 1KB
Cal.class 1KB
Request.class 1KB
HbnUtil.class 986B
Response.class 827B
ServerThread.class 802B
ServerMainFrame$1.class 738B
TicketOrderDAO.class 697B
IllegalTimeFormatException.class 600B
IllegalDateFormatException.class 598B
FlightDAO.class 531B
BranchDAO.class 429B
PlaneModelDAO.class 281B
.classpath 3KB
AddFlightSchedularDialog.java 6KB
FlightSchedular.java 6KB
TicketOrder.java 6KB
AddOrderItemPanel.java 6KB
MyDate.java 5KB
SeachFlightPanel.java 5KB
ServerMainFrame.java 5KB
FlightDaoFromHbn.java 4KB
Controller.java 4KB
TicketOrderDaoFromDB.java 4KB
AddFlight.java 4KB
ClientMainFrame.java 4KB
LoginFrame.java 4KB
SearchOrderFromBranch.java 3KB
OrderFrame.java 3KB
OrderItemPanel.java 3KB
AddBranchDialog.java 3KB
BranchDaoFromHbn.java 3KB
Flight.java 3KB
AddPlaneModelDialog.java 3KB
SearchFlightSch.java 3KB
PlaneModel.java 3KB
ModifyAgentPasswdDialog.java 2KB
ServerMainClass.java 2KB
RemoveBranchDialog.java 2KB
PlaneModelDaoFromHbn.java 2KB
MyTime.java 2KB
ArrayListTableModel.java 2KB
JdbcUtil.java 2KB
Branch.java 2KB
RemoveFlightSchedularDialog.java 2KB
ClientMainClass.java 2KB
MyDateTest.java 1KB
Order.java 1KB
FlightTableModel.java 1KB
SearchPanel.java 1KB
TicketOrderDAO.java 1KB
FlightSchedularTableModel.java 1KB
FlightDAO.java 1KB
BranchDAO.java 1KB
CabinClass.java 1KB
Cal.java 868B
Request.java 718B
SearchAllOrder.java 707B
SearchAllBranchs.java 701B
共 126 条
- 1
- 2
linkz
- 粉丝: 52
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2