潘國榮
摘要:事件是Java Swing可視化開發(fā)中一個非常重要和基礎(chǔ)的概念。該文就Swing組件編程中事件的概念、事件處理委托模型、常用事件及主要響應(yīng)方法作一論述。
關(guān)鍵詞: Java;事件;響應(yīng)方法
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)29-0125-02
1事件概念
在Java圖形用戶界面中,當(dāng)用戶進行點擊命令按鈕、移動鼠標、按下或彈出鍵、關(guān)閉窗體等操作時,都會產(chǎn)生事件。產(chǎn)生事件的對象是事件源,通常就是各個組件,例如按鈕。利用鼠標、鍵盤對事件源的操作統(tǒng)稱為事件。對這些事件做出響應(yīng)的程序,稱為事件處理器。
2事件處理委托模型
在Java中,事件源產(chǎn)生事件之后,并不像其他編程技術(shù)那樣由事件源對象直接處理事件,而是委托給“第三方”進行處理,這個“第三方”就是Java中的事件監(jiān)聽器對象。這種處理事件的方式,稱為委托事件模型,它充分利用了接口設(shè)計的特點,使得事件源和事件類設(shè)計和事件處理器類分離。事件監(jiān)聽器能維護事件源的信息,能“監(jiān)聽”、“遍歷”事件源產(chǎn)生的事件,能找到并執(zhí)行相應(yīng)的事件響應(yīng)方法。
3 主要事件
4事件處理的主要步驟
按照前述分析,在Java中,事件處理的主要步驟有3步:
1) 定義一個類,使該類實現(xiàn)事件對應(yīng)的監(jiān)聽器接口;
2) 對事件源 (組件)產(chǎn)生的事件進行注冊監(jiān)聽;
3) 重寫(覆蓋) 監(jiān)聽器接口中的事件處理方法。
事件響應(yīng)方法可以在本類、外部類實現(xiàn),也可以在內(nèi)部類、匿名類中實現(xiàn)。通過內(nèi)部類的方法,內(nèi)部類可以是匿名類,也可以不是匿名類,這種方法不需要聲明事件監(jiān)聽器接口。
5 結(jié)束語
通過上述例程代碼可以看出,編制事件處理的響應(yīng)方法還是非常靈活的,通常情況下,如果程序要處理的比較復(fù)雜,可以在單獨定義的外部類中實現(xiàn),如果程序要處理的比較簡單,在自身類中實現(xiàn)可能更為方便,初學(xué)者及開發(fā)人員可以根據(jù)需要進行選擇。
參考文獻:
[1] 劉德山, 金百東. Java程序設(shè)計[M]. 北京: 科學(xué)出版社, 2012.
[2] 李鐘尉, 陳丹丹. Java項目開發(fā)案例全程實錄[M]. 北京: 清華大學(xué)出版社, 2011.
【通聯(lián)編輯:光文玲】