⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seachflightpanel.java

📁 一个很详细的航空售票系统开发的例子
💻 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 + -