- 浏览: 214714 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
a66756675:
...
tomcat:tomcat的OutOfMemoryError解决 -
ooo456mmm:
说的对,如果用Mina框架来处理,要简单很多了
NIO socket服务器注意的几点. -
long_ltoy:
这样的话,看上去是代替了session,但这不和session ...
在JSP中使用JAVABEAN代替Session -
linzx0212:
关注下,不错……
tomcat:tomcat的OutOfMemoryError解决 -
liudeh_009:
总结得很好
NIO socket服务器注意的几点.
概述:这是两个Java bean应用的例子,实现航空预定机票的功能。
预定构件功能说明:
1,预定构件应包含二个面板,预定座位面板与乘客面板
2,在装入预定构件时不应有可用的乘客面板
3,当用户打入要预定的旅行地点.旅行日期及座位号时:
(1)首先,应按以下格式生成乘客号:<place of travel> <date of travel> <count of the seat number>
(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;
gl_t.setConstraints(label_NOS,gbcs);
pnl.add(label_NOS);
gbcs.gridx=4;
gbcs.gridy=40;
gbcs.anchor=GridBagConstraints.NORTHWEST;
gl_t.setConstraints(text_NOS,gbcs);
pnl.add(text_NOS);
gbcs.gridx=3;
gbcs.gridy=50;
gbcs.anchor=GridBagConstraints.NORTHWEST;
gl_t.setConstraints(button_Book,gbcs);
pnl.add(button_Book);
button_Book.addActionListener(this);
textDisplay();
pb=new PsBean();
pb.PsListener(this);
blo=new BoxLayout(this,BoxLayout.Y_AXIS);
this.setLayout(blo);
blo.addLayoutComponent("Booking Panel",pnl);
blo.addLayoutComponent("Passenger Panel",pb);
this.add(pnl);
this.add(pb);
pb.setVisible(false);
}
public void textDisplay()
{
Font f=new Font("Times New Roman",Font.BOLD,30);
the_animation.setFont(f);
the_animation.setText(bank_Name);
}
public void actionPerformed(ActionEvent evt)
{
Object obj=evt.getSource();
try{
if(Integer.parseInt(text_NOS.getText())==0)
JOptionPane.showMessageDialog(this,new String("Number of Passengers >0"));
if(obj==button_Book && (Integer.parseInt(text_NOS.getText())>0))
{
text_Date.setEnabled(false);
text_Place.setEnabled(false);
text_NOS.setEnabled(false);
button_Book.setEnabled(false);
t_count=1;
t_passno=text_Place.getText().trim()+text_Date.getText().trim()+String.valueOf(t_count);
t_nos=Integer.parseInt(text_NOS.getText());
pb.setPnrno(t_passno);
pb.setVisible(true);
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(this,new String("NumberFormat For input string is wrong,plese check it!"));
}
}
public void psPerformed(PsEvent evt)
{
t_count++;
if(t_count<=t_nos)
{
t_passno=text_Place.getText().trim()+text_Date.getText().trim()+String.valueOf(t_count);
pb.refresh();
pb.setPnrno(t_passno);
}
else
{
pb.setVisible(false);
t_count--;
JOptionPane.showMessageDialog(this,new String("Number of Passenger Added : "+t_count));
text_Date.setText(the_datFormat);
text_Place.setText("");
text_NOS.setText("");
text_Date.setEnabled(true);
text_Place.setEnabled(true);
text_NOS.setEnabled(true);
button_Book.setEnabled(true);
pb.refresh();
t_nos=0;
t_count=0;
}
}
}
------------------
/*5
* Program file: app.java
* Creat time: 08/01/2004
* Creat by: InberKong
* Last Modify time:
* Modify by:
* Function describe: FlyMyWay Airlines
*/
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class app extends JFrame
{
Bpanel panel=new Bpanel();//javabean
public app()
{
this.getContentPane().add(panel);
this.pack();
this.setVisible(true);
}
public static void main(String args[])
{
new app();
}
}
------------------
如果朋友们看不出效果我可以把图发上。如有转载请与我联系。
发表评论
-
Java字典:如何从程序员升级到架构师.
2012-03-24 23:32 0最近好多同学问学习java ... -
一个Java程序员应该掌握的10项技能
2011-12-08 12:56 9061、语法:必须比较熟 ... -
自定义log4j中的DailyRollingFileAppender
2011-03-11 22:47 4057需求: 日志内容是自定义的。例如,登录信息记录到一个日志文 ... -
google 测试
2010-05-11 16:32 779在Google,测试有一个721的原则:70%的测试工作在底层 ... -
项目测试风险总结
2009-12-01 11:38 993随着项目规模的扩大,项目的复杂性也逐渐增加,在项目中做好风险控 ... -
性能测试总结之性能监控篇
2009-12-01 11:35 1586在性能测试的整个流程当中,监控起着至关重要的作用。因为在性 ... -
如何编写高质量的Java代码
2009-10-14 09:17 1174如何编写高质量的Java代码: 1、 养成良好的习惯及 ... -
一直在用的类注释
2009-10-10 09:17 697/** * @Filename: ${file_na ... -
rapid-framework 连接 oracle时的一个bug
2009-04-28 17:40 2180在连接oracle数据库时报错: Exception ... -
xapool的框架配置
2008-12-17 10:31 2727package juan.orm.datasource.imp ... -
NIO socket服务器注意的几点.
2008-12-06 17:36 4356当你看到这篇文 ... -
jsp分页
2004-06-23 04:26 889******************************* ... -
解决jsp中乱码问题
2004-06-23 04:28 732数据库存储最好用8859_1的格式,所以存入数据库的时候进行一 ... -
使用类文件的数据库连接方法
2004-06-23 04:34 630******************************* ... -
jsp中文显示问题
2004-06-23 04:40 54510:30 2003-11-29 InberGong整理&l ... -
不用数据源直接连sqlserver数据库(jsp,中文)
2004-06-23 04:43 852//////////////整理InberGong10:22 ... -
WINDOWS 2000 环境下JAVA环境配置
2004-06-23 04:44 946//////////////整理InberGong10:22 ... -
Java 学习方法浅谈(http://www.javaeye.com站长Robbin著)
2004-07-01 02:51 678Java本身是一种设计的非 ... -
解决java中文问题的一些资源
2004-07-01 02:54 754解决java中文问题的一些资源 我收集了一些这方面的文章, 希 ... -
JAVA程序桥联数据库
2004-07-02 12:11 803/****************************** ...
相关推荐
ta_lib-0.5.1-cp312-cp312-win32.whl
课程设计 在线实时的斗兽棋游戏,时间赶,粗暴的使用jQuery + websoket 实现实时H5对战游戏 + java.zip课程设计
ta_lib-0.5.1-cp310-cp310-win_amd64.whl
基于springboot+vue物流系统源码数据库文档.zip
GEE训练教程——Landsat5、8和Sentinel-2、DEM和各2哦想指数下载
知识图谱
333498005787635解决keil下载失败的文件.zip
【微信机器人原理与实现】 微信机器人是通过模拟微信客户端的行为,自动处理消息、发送消息的程序。在Python中实现微信机器人的主要库是WeChatBot,它提供了丰富的接口,允许开发者方便地进行微信消息的接收与发送。这个项目标题中的"基于python实现的微信机器人源码"指的是使用Python编程语言编写的微信机器人程序。 1. **Python基础**:Python是一种高级编程语言,以其简洁的语法和强大的功能深受开发者喜爱。在实现微信机器人时,你需要熟悉Python的基本语法、数据类型、函数、类以及异常处理等概念。 2. **微信API与WeChatBot库**:微信为开发者提供了微信公共平台和微信开放平台,可以获取到必要的API来实现机器人功能。WeChatBot库是Python中一个用于微信开发的第三方库,它封装了微信的API,简化了消息处理的流程。使用WeChatBot,开发者可以快速搭建起一个微信机器人。 3. **微信OAuth2.0授权**:为了能够接入微信,首先需要通过OAuth2.0协议获取用户的授权。用户授权后,机器人可以获取到微信用户的身份信息,从而进行
基于springboot实验室研究生信息管理系统源码数据库文档.zip
张力控制,色标跟踪,多轴同步,电子凸轮,横切等工艺控制案例。
在Python编程环境中,处理Microsoft Word文档是一项常见的任务。Python提供了几个库来实现这一目标,如`python-docx`,它可以让我们创建、修改和操作.docx文件。本教程将重点介绍如何利用Python进行Word文档的合并、格式转换以及转换为PDF。 1. **合并Word文档(merge4docx)** 合并多个Word文档是一项实用的功能,特别是在处理大量报告或文档集合时。在Python中,可以使用`python-docx`库实现。我们需要导入`docx`模块,然后读取每个文档并将其内容插入到主文档中。以下是一个基本示例: ```python from docx import Document def merge4docx(file_list, output_file): main_doc = Document() for file in file_list: doc = Document(file) for paragraph in doc.paragraphs: main_doc.add_paragraph(paragraph.text) m
基于springboot+Javaweb的二手图书交易系统源码数据库文档.zip
基于springboot餐品美食论坛源码数据库文档.zip
基于springboot亚运会志愿者管理系统源码数据库文档.zip
使用WPF的数据样式绑定,切换对象数据值来完成控件动态切换背景渐变动画效果。 使用动画样式渲染比线程修改性能消耗更低更稳定
基于SpringBoot的企业客源关系管理系统源码数据库文档.zip
基于springboot+vue的桂林旅游网站系统源码数据库文档.zip
基于springboot嗨玩旅游网站源码数据库文档.zip
基于springboot的流浪动物管理系统源码数据库文档.zip
基于springboot课件通中小学教学课件共享平台源码数据库文档.zip