国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

事件監(jiān)聽(tīng)器 將JavaBeans接通起來(lái)的方法(2)

2019-11-18 13:46:42
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

  事件監(jiān)聽(tīng)器 將javaBeans接通起來(lái)的方法(2)

所有這些與Beans有何關(guān)系?
JavaBeans主要利用事件監(jiān)聽(tīng)器接口進(jìn)行通訊

事件監(jiān)聽(tīng)器為對(duì)象提供了一種普適的不經(jīng)過(guò)繼續(xù)關(guān)系而進(jìn)行通訊的方法。正因?yàn)槿绱耍麄儗?duì)于組件技術(shù)來(lái)說(shuō),是一種非常好的通訊機(jī)制,從某種角度來(lái)講,它們即是JavaBeans。雖然上面看到的事件監(jiān)聽(tīng)器全都出現(xiàn)在AWT中,但他們的應(yīng)用不僅僅限于用戶接口。他們可以被應(yīng)用于各式各樣的事件:屬性的變更,傳感器的閱讀,時(shí)鐘事件,文件系統(tǒng)行為,對(duì)象命名等。

現(xiàn)在開(kāi)始“Beany”部分

#你能夠?yàn)樗鼈兌x你自己的事件類型和事件監(jiān)聽(tīng)器。

#假如你的新事件類型被稱為Eventtype,那么通過(guò)實(shí)現(xiàn)下面兩個(gè)方法,你的Beans就能成為你的新事件類型的源。


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

#那么通過(guò)實(shí)現(xiàn)接口EventListener,其它Beans能夠成為事件的目標(biāo)。

#最后,你可以通過(guò)調(diào)用sourceBean。addEventtypeListener(targetBean)"接通"事件的源和事件目標(biāo)。

創(chuàng)建和利用你自已的EventObject類型
讓我們看一個(gè)創(chuàng)建EventObject類型的例子。這個(gè)例子是在上個(gè)月的一個(gè)例子,BarChartBean的基礎(chǔ)上進(jìn)行"腦外科式"(brainsurgery)的改造而成的。我先在BarChartBean中增加代碼,以使得在Bar區(qū)域內(nèi),用戶每次點(diǎn)擊或拖動(dòng)鼠標(biāo)時(shí),都重先設(shè)置percent屬性。這為我們提供了一個(gè)通過(guò)鼠標(biāo)來(lái)改變Percent屬性的方法。

BarChartBean通過(guò)預(yù)先定義的PRopertyChangeListener接口(在java。beans包中定義的,通用的事件監(jiān)聽(tīng)器接口),來(lái)通知其它對(duì)象它的percent屬性變化情況。現(xiàn)在,我們通過(guò)定義一個(gè)新的事件類型,PercentEvent,為外部Beans增加另一個(gè)方法,以使這些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_; }
}

你是否還記得,在前面我們?cè)岬竭^(guò)在事件中封裝類規(guī)范(class-specific)數(shù)據(jù)?妤了,在此,新的和舊的百分比值都規(guī)范于PercentEvent事件類。

現(xiàn)在,讓我們?yōu)檫@一新的事件類型定義一個(gè)監(jiān)聽(tīng)器接口。

import java.util.*;

//每一個(gè)想監(jiān)聽(tīng)"percent"變化情況的類都
//應(yīng)該實(shí)現(xiàn)這個(gè)接口

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 墨竹工卡县| 三穗县| 普兰县| 梁平县| 普兰店市| 乐昌市| 光泽县| 新民市| 铁岭县| 上栗县| 新化县| 台东市| 方城县| 永嘉县| 大邑县| 宝鸡市| 兴海县| 遂宁市| 罗平县| 南丰县| 贡山| 云龙县| 德清县| 临洮县| 文安县| 安岳县| 河东区| 商丘市| 青州市| 遂宁市| 三台县| 成都市| 三台县| 恩平市| 梁山县| 尚志市| 留坝县| 巨野县| 简阳市| 岳西县| 天水市|