📄 addflightschedulardialog.java
字号:
package com.tarena.abs.server;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import javax.swing.*;
import com.tarena.abs.dao.FlightDAO;
import com.tarena.abs.dao.FlightDAOFromFile;
import com.tarena.abs.model.*;
/**
* 添加航班计划对话框。
* @author tangliang
*/
public class AddFlightSchedularDialog extends JDialog implements ActionListener{
/**
*
*/
private static final long serialVersionUID = 5936164954689544705L;
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("添加")){
// for(int i=0;i<15;i++){
// System.out.println(texts[i].getText());
// }
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());
fs.setStartDate(new MyDate(Integer.parseInt(texts[7].getText()),Integer.parseInt(texts[8].getText()),Integer.parseInt(texts[9].getText())));
fs.setEndDate(new MyDate(Integer.parseInt(texts[10].getText()),Integer.parseInt(texts[11].getText()),Integer.parseInt(texts[12].getText())));
fs.setLength(Integer.parseInt(texts[13].getText()));
fs.setPrice(Double.parseDouble(texts[14].getText()));
fs.setPlane((PlaneModel)jcb.getSelectedItem());
try {
FlightDAO f=ServerMainClass.flightDaoSch;
boolean success=f.addFlightSchedular(fs);
if(success){
addFLT(fs);
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;
}
//System.out.println(str);
return (byte)Integer.parseInt(str,2);
}
private void addFLT(FlightSchedular fs){
FlightDAO f=ServerMainClass.flightDao;
MyDate md=fs.getStartDate();
while(md.compareTo(fs.getEndDate())<=0){
byte wd=(byte)md.getWeekDay();
byte i=1;
i=(byte)(i<<(7-wd));
if( (((byte)i)&(fs.getSchedular()))!=0){
Flight fl=fs.createNewFlight(md);
boolean b=f.addFlight(fl);
if(b){
System.out.println("OK");
}
}
md=md.getNextDay();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -