欢迎大家光临【无师自通-教程网】您的到来是我们的荣幸。本站提供photoshop教程,ps教程,flash教程,cad教程,网页制作教程,excel教程,asp教程,vb教程,3d教程,c语言教程,html教程,coreldraw教程,dreamweaver教程,java教程,3dmax教程 等各种教程为主题的内容和服务,相信您会在这里找到您所需要的东东。无师自通伴您一生-谢谢您的光临!!
网站地图 设为首页
简繁切换 加入收藏
栏目待定 留言本站
您现在的位置: 无师自通-教程网 >> 程序设计 >> JAVA教程 >> EJB >> 教程正文

  没有公告

教程: JAVA EJB-事件监听器 将JavaBeans接通起来的方法(2) 更多...
教程: JAVA EJB-事件监听器 将JavaBeans接通起来的方法(2)
事件监听器 将JavaBeans接通起来的方法(2)

所有这些与Beans有何关系?
JavaBeans主要利用事件监听器接口进行通讯

事件监听器为对象提供了一种普适的不经过继承关系而进行通讯的方法。正因为如此,他们对于组件技术来说,是一种非常好的通讯机制,从某种角度来讲,它们即是JavaBeans。虽然上面看到的事件监听器全都出现在AWT中,但他们的应用不仅仅限于用户接口。他们可以被应用于各式各样的事件:属性的变更,传感器的阅读,时钟事件,文件系统行为,对象命名等。

现在开始“Beany”部分

#你能够为它们定义你自己的事件类型和事件监听器。

#如果你的新事件类型被称为Eventtype,那么通过实现下面两个方法,你的Beans就能成为你的新事件类型的源。


o addEventtypeListener(EventObject e)
o removeEventtypeListener(EventObject e)

#那么通过实现接口EventListener,其它Beans能够成为事件的目标。

#最后,你可以通过调用sourceBean。addEventtypeListener(targetBean)"接通"事件的源和事件目标。

创建和利用你自已的EventObject类型
让我们看一个创建EventObject类型的例子。这个例子是在上个月的一个例子,BarChartBean的基础上进行"脑外科式"(brainsurgery)的改造而成的。我先在BarChartBean中增加代码,以使得在Bar区域内,用户每次点击或拖动鼠标时,都重先设置percent属性。这为我们提供了一个通过鼠标来改变Percent属性的方法。

BarChartBean通过预先定义的PropertyChangeListener接口(在java。beans包中定义的,通用的事件监听器接口),来通知其它对象它的percent属性变化情况。现在,我们通过定义一个新的事件类型,PercentEvent,为外部Beans增加另一个方法,以使这些Beans能够被通知到每一次percent的变化。



import java.util.*;

//
//该类封装每一次Percent属性的变化,并将变化传递给"PercentListener".
//

public class PercentEvent extends java.util.EventObject
{
protected int iOld_, iNew_;

public PercentEvent(Object source, int iOld, int iNew)
{
super(source);
iOld_ = iOld;
iNew_ = iNew;
}

public int getOldPercent() { return iOld_; }

public int getPercent() { return iNew_; }

public int getChangedBy() { return iNew_ - iOld_; }
}

你是否还记得,在前面我们曾提到过在事件中封装类规范(class-specific)数据?妤了,在此,新的和旧的百分比值都规范于PercentEvent事件类。

现在,让我们为这一新的事件类型定义一个监听器接口。

import java.util.*;

//每一个想监听"percent"变化情况的类都
//应该实现这个接口

public interface PercentListener extends EventListener
{
public void percentChanged(EventObject e);
}

接下来,我们要把BarChartBean变成为一个PercentEvent的源。为达此目的,我们将在BarChartBean中实现addPercentListener()和removePercentListener(),并且无论何时,当percent属性改变时,都能够去修改所有的监听器。(在此,我们只需看源代码中相关的部分)

//
// BarChart Bean现在接收输入
//
public class BarChartBean extends Canvas
implements Serializable, PropertyChangeListener
{
// ...
// List of percent listeners.
private Vector percentListeners_;

// ... a whole lotta methods...

// Set/Get methods for percent
public void setPercent(int iPercent)
{
// Set new percent, and only if necessary repaint()
// This is the only place that iPercent´s range is conolled
if (iPercent <= 100 && iPercent>= 0)
{
// Save old value, set new value FIRST
int prevPercent = iPercent_;
iPercent_ = iPercent;

[1] [2] [3] [4] [5] 下一页

教程录入:admin    责任编辑:admin 
  • 上一篇教程:

  • 下一篇教程: 没有了
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     
     
     
     

    access基础知识
    免责声明!本站资料大部分来自于互联网,其版权归原作者或其他合法者所有.如内容涉及或侵犯了您的权益,请通知本人,我将尽快处理!.欢迎您的光临。
    辽ICP备07003958号
    无师自通,伴你一生-教程网