• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Flex 事件分发(FlexViewer事件机制)剥离过程

    将FlexViewer里面的事件分发及监听事件机制剥离出来在其他项目中使用

    AppEvent.as

    package com 
    { 
    import flash.events.Event; 
    
    /** 
    * @author SamSung 
    * 创建时间:2014-7-24 下午1:21:05 
    * 
    */ 
    public class AppEvent extends Event 
    { 
    //-------------------------------------------------------------------------- 
    // 
    // Properties 
    // 
    //-------------------------------------------------------------------------- 
    
    private var _data:Object; 
    
    private var _callback:Function; 
    
    public function AppEvent(type:String, data:Object = null, callback:Function = null) 
    { 
    super(type); 
    _data = data; 
    _callback = callback; 
    } 
    
    
    /** 
    * The data will be passed via the event. It allows the event dispatcher to publish 
    * data to event listener(s). 
    */ 
    public function get data():Object 
    { 
    return _data; 
    } 
    
    /** 
    * @private 
    */ 
    public function set data(value:Object):void 
    { 
    _data = value; 
    } 
    
    /** 
    * The callback function associated with this event. 
    */ 
    public function get callback():Function 
    { 
    return _callback; 
    } 
    
    /** 
    * @private 
    */ 
    public function set callback(value:Function):void 
    { 
    _callback = value; 
    } 
    
    /** 
    * Override clone 
    */ 
    public override function clone():Event 
    { 
    return new AppEvent(this.type, this.data, this.callback); 
    } 
    
    /** 
    * Dispatch this event. 
    */ 
    public function dispatch():Boolean 
    { 
    return EventBus.instance.dispatchEvent(this); 
    } 
    
    /** 
    * Dispatch an AppEvent for specified type and with optional data and callback reference. 
    */ 
    public static function dispatch(type:String, data:Object = null, callback:Function = null):Boolean 
    { 
    return EventBus.instance.dispatchEvent(new AppEvent(type, data, callback)); 
    } 
    
    public static function addListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void 
    { 
    EventBus.instance.addEventListener(type, listener, useCapture, priority, useWeakReference); 
    } 
    
    public static function removeListener(type:String, listener:Function, useCapture:Boolean = false):void 
    { 
    EventBus.instance.removeEventListener(type, listener, useCapture); 
    } 
    
    } 
    }

    EventBus.as

    package com 
    { 
    import flash.events.Event; 
    import flash.events.EventDispatcher; 
    
    /** 
    * The EventBus allows centrallized communication among modules without 
    * point-to-point messaging. It uses the singleton design pattern 
    * to make sure one event bus is available globally. The bus itself 
    * is only available to the container. Modules use the container's 
    * static method to communicate with the event bus. 
    */ 
    public class EventBus extends EventDispatcher 
    { 
    /** Application event bus instance */ 
    public static const instance:EventBus = new EventBus(); 
    
    /** 
    * Normally the EventBus is not instantiated via the b>new/b> method directly. 
    * The constructor helps enforce only one EvenBus availiable for the application 
    * (singeton) so that it asures the communication only via a sigle event bus. 
    */ 
    public function EventBus() 
    { 
    } 
    
    /** 
    * The factory method is used to create a instance of the EventBus. It returns 
    * the only instanace of EventBus and makes sure no another instance is created. 
    */ 
    [Deprecated(replacement="instance")] 
    public static function getInstance():EventBus 
    { 
    return instance; 
    } 
    
    /** 
    * Basic dispatch function, dispatches simple named events. In the case 
    * that the event is only significant by the event token (type string), 
    * this new dispatch method simplify the code. 
    */ 
    [Deprecated(replacement="AppEvent.dispatch")] 
    public function dispatch(type:String):Boolean 
    { 
    return dispatchEvent(new Event(type)); 
    } 
    } 
    }
    您可能感兴趣的文章:
    • 详解Android事件的分发、拦截和执行
    • Android View 事件分发机制详解
    • Android 事件分发详解及示例代码
    • Android事件的分发机制详解
    • Android Touch事件分发深入了解
    • 30分钟搞清楚Android Touch事件分发机制
    • Android Touch事件分发过程详解
    • java随机事件分发器示例
    • Android View事件分发机制详解
    上一篇:Flex AIR 重启需要修改的配置文件
    下一篇:Flex 获取每月第几周小例子
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Flex 事件分发(FlexViewer事件机制)剥离过程 Flex,事件,分发,FlexViewer,