在学习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应用开发步骤 新特性和技术框架