概述:这是两个java bean应用的例子,实现航空预定机票的功能。
预定构件功能说明:
1,预定构件应包含二个面板,预定座位面板与乘客面板
2,在装入预定构件时不应有可用的乘客面板
3,当用户打入要预定的旅行地点.旅行日期及座位号时:
(1)首先,应按以下格式生成乘客号:
(2)其次,在显示乘客号时应使乘客面板是可见的(注意:你可能重定beanbox窗口中bean大小,以观看此乘客面板。而且,如果打入座位号为0,则不应显示乘客面板。)
(3)当用户点击乘客面板的submit按钮时,此面板的所有域控件中文本应置为空
(4)上面步骤被重复,直到所接收的乘客材料个数等于预定的座位数为止
4,在已预定了所需座位号之后,给出所预定座位号的消息框应被显示d
5,乘客面板应作为bean创建,可以把嵌入在铁路预定应用或航空应用中
6,你需接受以下格式之一的旅行日期"dd/mm/yy","mm/dd/yy","dd-month-yy"
-----------------------------------------------
/*1
* program file: psevent.java
* creat time: 08/01/2004
* creat by: inberkong
* last modify time:
* modify by:
* function describe: event class
*/
import java.util.*;
public class psevent extends eventobject
{
//
public string number;
public string name;
public string address;
public string phone;
public psevent(object source,string m1,string m2,string m3,string m4)
{
super(source);
this.number=m1;
this.name=m2;
this.address=m3;
this.phone=m4;
}
}
------------------
/*2
* program file: pseventlistener.java
* creat time: 08/01/2004
* creat by: inberkong
* last modify time:
* modify by:
* function describe: event listener
*/
import java.util.*;
public interface pseventlistener extends eventlistener
{
public void psperformed(psevent ev);
}
---------------------------
/*3
* program file: psbean.java
* creat time: 08/01/2004
* creat by: inberkong
* last modify time:
* modify by:
* function describe: passenger message bean
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class psbean extends jpanel implements actionlistener
{
jlabel lb_number;
jlabel lb_name;
jlabel lb_address;
jlabel lb_phone;
jtextfield tf_number;
jtextfield tf_name;
jtextfield tf_address;
jtextfield tf_phone;
jbutton sbmt;
pseventlistener pl;//声明事件监听
public psbean()
{
setlayout(new gridlayout(5,2));//设置布局管理器
lb_number=new jlabel("passenger number:");//创建对象
lb_name=new jlabel("passenger name:");
lb_address=new jlabel("passenger address:");
lb_phone=new jlabel("passenger phone:");
tf_number=new jtextfield(15);
tf_name=new jtextfield(15);
tf_address=new jtextfield(25);
tf_phone=new jtextfield(15);
sbmt=new jbutton("submit");
add(lb_number);
add(tf_number);
add(lb_name);
add(tf_name);
add(lb_address);
add(tf_address);
add(lb_phone);
add(tf_phone);
add(sbmt);
sbmt.addactionlistener(this);//监听事件
tf_number.setenabled(false);
}
public void actionperformed(actionevent evt)
{
object obj=evt.getsource();
if(obj==sbmt)
{
psevent ev=new psevent(obj,tf_number.gettext(),tf_name.gettext(),tf_address.gettext(),tf_phone.gettext());
pl.psperformed(ev);
}
}
public void pslistener(pseventlistener el)
{
pl=el;
}
public void setpnrno(string ptemp)
{
tf_number.settext(ptemp);
}
public void refresh()
{
tf_number.settext("");
tf_name.settext("");
tf_address.settext("");
tf_phone.settext("");
}
}
---------------------
/*4
* program file: bpanel.java
* creat time: 08/01/2004
* creat by: inberkong
* last modify time:
* modify by:
* function describe: book panel bean
*/
import java.beans.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class bpanel extends jpanel implements pseventlistener,actionlistener
{
jpanel pnl;
boxlayout blo;
jlabel label_date;
jtextfield text_date;
jlabel label_place;
jtextfield text_place;
jlabel label_nos;
jtextfield text_nos;
jbutton button_book;
jlabel the_animation;
string bank_name="flymyway airlines";
gridbaglayout gl_t;
gridbagconstraints gbcs;
//乘客面板javabean
psbean pb;
int t_nos;
int t_count;
string t_passno;
//date format property with getter and setter methods
private string the_datformat="mm/dd/yy";
public string getdatformat()
{
return the_datformat;
}
public void setdatformat(string temps)
{
the_datformat=temps;
if(the_datformat=="mm/dd/yy")
text_date.settext("mm/dd/yy");
if(the_datformat=="dd/mm/yy")
text_date.settext("dd/mm/yy");
if(the_datformat=="dd-month-yy")
text_date.settext("dd-month-yy");
}
public bpanel()
{
pnl=new jpanel();
the_animation=new jlabel(bank_name);
label_date=new jlabel("enter date of travel:");
text_date=new jtextfield(20);
text_date.settext(the_datformat);
label_place=new jlabel("enter place of travel:");
text_place=new jtextfield(15);
label_nos=new jlabel("enter number of seats to be booked");
text_nos=new jtextfield(5);
button_book=new jbutton("book seats");
gl_t=new gridbaglayout();
gbcs=new gridbagconstraints();
pnl.setlayout(gl_t);
gbcs.gridx=3;
gbcs.gridy=10;
gbcs.anchor=gridbagconstraints.northwest;
gl_t.setconstraints(the_animation,gbcs);
pnl.add(the_animation);
gbcs.gridx=2;
gbcs.gridy=20;
gbcs.anchor=gridbagconstraints.northwest;
gl_t.setconstraints(label_date,gbcs);
pnl.add(label_date);
gbcs.gridx=4;
gbcs.gridy=20;
gbcs.anchor=gridbagconstraints.northwest;
gl_t.setconstraints(text_date,gbcs);
pnl.add(text_date);
gbcs.gridx=2;
gbcs.gridy=30;
gbcs.anchor=gridbagconstraints.northwest;
gl_t.setconstraints(label_place,gbcs);
pnl.add(label_place);
gbcs.gridx=4;
gbcs.gridy=30;
gbcs.anchor=gridbagconstraints.northwest;
gl_t.setconstraints(text_place,gbcs);
pnl.add(text_place);
gbcs.gridx=2;
gbcs.gridy=40;
gbcs.anchor=gridbagconstraints.northwest;
闽公网安备 35060202000074号