由于項目需求,需要為Java提供一套支持事件驅(qū)動機制的類庫,可以實現(xiàn)類似于C#中的event和delegate機制。眾所周知,Java語言本身以及其標準庫中并沒有提供事件驅(qū)動機制的相關接口,雖然Swing(我且認為其不屬于標準庫,因為一般沒人用:)中存在相關的類支持該機制以實現(xiàn)組件的事件處理,但它畢竟是與GUI相耦合的,而在其它類型的應用程序中使用起來顯得就有些別扭,缺乏通用性。因此有必要實現(xiàn)一套通用的Java事件驅(qū)動機制類庫,然后將其應用于通用的Java應用程序當中,雖然這并不是什么難事:)

讓我們先考察一下C#的事件驅(qū)動機制編寫方法。C#中提供的event關鍵字可以很容易的用來定義一個事件,然后通過向事件中添加事件處理函數(shù)(在C#中一般用委托(delegate)來引用一個函數(shù)),觸發(fā)事件就可以調(diào)用相關的處理函數(shù),也即是事件驅(qū)動的過程。例如:
//定義事件和對應的委托
public event MyDelegate Click;
public delegate void MyDelegate();
//定義委托
void OnClick(){
console.writeline("you just clicked me!");
}
//將委托與事件關聯(lián)
Click += OnClick;
//觸發(fā)事件
Click();
名稱欄目:淺談用java實現(xiàn)事件驅(qū)動機制-創(chuàng)新互聯(lián)
當前網(wǎng)址:http://www.chinadenli.net/article40/deeoeo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、標簽優(yōu)化、軟件開發(fā)、域名注冊、網(wǎng)站制作、App設計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容