📄 seachflightpanel.java
字号:
package com.tarena.abs.client;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import com.tarena.abs.model.*;
/**
* 查询航班面板
* @author tangliang
*
*/
public class SeachFlightPanel extends JPanel implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -5154197414616453348L;
private JLabel message;//显示当前用户信息
private JLabel label1;//查询航班:
private JLabel label2;//出发地:
private JTextField fromAddress;//文本框
private JLabel label3;//目的地:
private JTextField toAddress;//文本框
private JLabel label4;//日期:
private JTextField date;//文本框
private JButton button;//查询按钮
public SeachFlightPanel(){
message=new JLabel(ClientMainClass.currentUser.getMessage());
message.setForeground(Color.RED);
label1=new JLabel("查询航班:");
label2=new JLabel("出发地:");
fromAddress=new JTextField(8);
label3=new JLabel("目的地:");
toAddress=new JTextField(8);
label4=new JLabel("日期:");
date=new JTextField(12);
button=new JButton("查询");
init();
eventHandle();
}
/**
* 该方法用于构造图形界面.
*
*/
private void init(){
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints constraints=new GridBagConstraints();
this.setLayout(gbl);
buildConstraints(constraints,0,0,1,1,10,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
gbl.setConstraints(label1,constraints);
this.add(label1);
buildConstraints(constraints,1,0,1,1,10,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
gbl.setConstraints(label2,constraints);
this.add(label2);
buildConstraints(constraints,2,0,1,1,20,100);
constraints.fill=GridBagConstraints.BOTH;
constraints.anchor=GridBagConstraints.CENTER;
gbl.setConstraints(fromAddress,constraints);
this.add(fromAddress);
buildConstraints(constraints,3,0,1,1,10,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
gbl.setConstraints(label3,constraints);
this.add(label3);
buildConstraints(constraints,4,0,1,1,20,100);
constraints.fill=GridBagConstraints.BOTH;
constraints.anchor=GridBagConstraints.CENTER;
gbl.setConstraints(toAddress,constraints);
this.add(toAddress);
buildConstraints(constraints,5,0,1,1,10,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.EAST;
gbl.setConstraints(label4,constraints);
this.add(label4);
buildConstraints(constraints,6,0,1,1,20,100);
constraints.fill=GridBagConstraints.BOTH;
constraints.anchor=GridBagConstraints.CENTER;
gbl.setConstraints(date,constraints);
this.add(date);
buildConstraints(constraints,0,2,3,1,0,100);
constraints.fill=GridBagConstraints.BOTH;
constraints.anchor=GridBagConstraints.WEST;
gbl.setConstraints(message,constraints);
this.add(message);
buildConstraints(constraints,5,2,2,1,0,100);
constraints.fill=GridBagConstraints.NONE;
constraints.anchor=GridBagConstraints.CENTER;
gbl.setConstraints(button,constraints);
this.add(button);
}
/**
* 该方法为GridBagLayout布局管理器提供每个组件的布局参数。
*/
private void buildConstraints(GridBagConstraints cons,int gridx,int gridy,
int gridwidth,int gridheight,int weightx,int weighty){
cons.gridx=gridx;
cons.gridy=gridy;
cons.gridwidth=gridwidth;
cons.gridheight=gridheight;
cons.weightx=weightx;
cons.weighty=weighty;
}
/**
* 该方法设置图形组件的事件监听器。
*
*/
private void eventHandle(){
button.addActionListener(this);
}
/**
* 该方法实现事件处理的代码。
*/
public void actionPerformed(ActionEvent e) {
//需要自己实现的方法
ArrayList arr=new ArrayList();
if(e.getActionCommand().equals("查询")){
Request req=new Request("flightSearch");
if(!fromAddress.getText().equals("") && !toAddress.getText().equals("") && !date.getText().equals("")){
req.setData("fromAddress",fromAddress.getText());
req.setData("toAddress",toAddress.getText());
req.setData("date",date.getText());
//发送请求
try {
ClientMainClass.oos.writeObject(req);
ClientMainClass.oos.flush();
//读取响应
Response res=(Response)ClientMainClass.ois.readObject();
HashSet hs=(HashSet)res.getData();
// System.out.println(hs);
if(hs!=null){
Iterator it=hs.iterator();
while(it.hasNext()){
Flight fl=(Flight)it.next();
arr.add(fl);
}
ClientMainClass.flights=arr;
ClientMainClass.clientFrame.setTable(new JTable(new FlightTableModel(arr)));
}else{
JOptionPane.showMessageDialog(this,"您查询的航班不存在!");
return;
}
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}else{
JOptionPane.showMessageDialog(this,"请输入完整查询信息!");
return;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -