📄 seachflightpanel.java
字号:
package com.tarena.abs.client;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.io.*;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); } /** * 该方法实现事件处理的代码。 */ @SuppressWarnings("unchecked") public void actionPerformed(ActionEvent e) { //?????? //需要自己实现的方法 if(ClientMainClass.flights != null){ ClientMainClass.flights.clear(); }// 创建一个请求对象,该请求的类型为登录请求 Request req=new Request("seachFlights"); //向请求对象中添加数据 req.setData("FromAddress",fromAddress.getText()); req.setData("ToAddress",toAddress.getText()); req.setData("MyDate",date.getText() ); //将请求对象写往服务器 //从服务器获得一个应答对象 Response res; try { ClientMainClass.oos.writeObject(req); ClientMainClass.oos.flush(); res = (Response)ClientMainClass.ois.readObject(); //解析应答对象中封装的数据 Set set = (Set)res.getData(); if(set!=null){ ArrayList arr = new ArrayList(); Iterator it = set.iterator(); while(it.hasNext()){ arr.add(it.next()); } ClientMainClass.flights = arr; ClientMainClass.clientFrame.setTable(new JTable(new FlightTableModel(arr))); } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (ClassNotFoundException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -