Flex事件機制中監聽器注冊方式
在學習Flex事件機制的過程中,你可能會遇到Flex事件監聽器注冊方面的問題,這里和大家分享一下其注冊方法,相信本文介紹一定會讓你有所收獲。
Flex事件機制
事件處理是GUI開發的重要組成部分,早在傳統的Client/Server開發中,事件驅動的開發法就已經是GUI開發的主流。
Flex事件機制中事件監聽器注冊
Flex的可視化組件object都繼承了EventDispatCher類,因此它們都支持事件注冊methodaddEventListener。該method的定義如下:
- addEventListener(type:String,listener:FunCtion,
- useCapture:Boolean=false,priority:int=0,
- useWeakReferenCe:Boolean=false):void
通過addEventListenermethod,我們可以為可視化組件注冊一個事件監聽器。type參數表明事件監聽器的TYPE,如鼠標單擊事件(MouseEvent.CLICK);listener參數是事件監聽器的具體method;useCapture參數設定是否在事件的捕獲階段就進行響應;priority參數設定事件監聽器的優先級;useWeakReferenCe參數設定事件監聽器method是否為弱TYPE,一個強TYPE的事件監聽器method是不會被Flex進行自動垃圾收集的。
先前我們提到的Flex事件機制中事件監聽器內建方式,實際上已經創建了一個默認的事件監聽器method,并把ACtionSCript腳本的內容寫入method,但這種method的最大不足就是無法操作一個以上的事件監聽器。
而使用addEventListenermethod注冊事件監聽器的方式,我們可以控制事件響應的捕獲方式和優先級;當我們已經添加的事件監聽器在程式的運行過程中需要取消掉的時候,我們可以通過removeEventListenermethod來呈現。而這些功能在事件監聽器內建方式中不會被支持,理由也很明了:內建的事件監聽器都是匿名的,我們無法引用到匿名監聽器的監聽實體method。
因此,在使用Flex事件機制的時候,還是應該盡量選用事件監聽器注冊的方式來構建事件處理,這將為事件交互處理帶來更多的可擴展性。
【編輯推薦】
- Flex事件機制中事件注冊通道和觸發方法
- 深入剖析Flex事件機制
- Flex框架中Cairngorm和Mate的優點大比拼
- FlexBuilder3.0與Eclipse3.4的完美結合
- 解析Flex應用開發步驟 新特性和技術框架