今天,学习Flex自定义事件,可以使两个类通信,定义一个Main类。

public class Main extends Sprite
     {
            public function Main()
            {

//演示ChildSprite类是与Main类通信,ChildSprite类稍后说明;

var child:ChildSprite=new ChildSprite();

//指示该实例的属性值
            child.flag="01";

//监听器接受 事件类型“Replay” ,监听事件源 child,处理函数 main_echo

child.addEventListener("Replay",main_echo);

//定义事件对象作为发信息,事件类型“Echo”
            var say:TextEvent=new TextEvent("Echo");

//事件对象 传送信息
            say.text="发信息给你";

//抛出事件 事件类型“Echo” ,监听事件源 child,监听器注册稍后说明
             child.dispatchEvent(say);   
      }
    //事件处理函数,响应事件类型“Replay”
     private function main_echo(event:TextEvent):void{

//处理收到的信息,实现通信目的
            trace(event);
       }
 }

现在看看ChildSprite的定义,ChildSprite.as

public class ChildSprite extends Sprite
 {

//定义一个属性值,表示出不同实例

private var _flag:String;
  
  public function ChildSprite()
  {
        super();
        _flag="";

//监听器接受 事件类型“Echo” ,监听事件源 this,处理函数ChildSprite_fromMain

//但在main抛出“Echo”事件就可以监听,处理

addEventListener("Echo",ChildSprite_fromMain);
  }
  
        //处理“Echo”事件

private function ChildSprite_fromMain(event:TextEvent):void{

//flag=01,就是这个输出

trace(ChildSprite(event.currentTarget).flag);

//处理收到的信息,实现通信目的
        trace(event);

//收到“Echo”事件,定义一个“Replay”事件对象作为回应

var replay:TextEvent=new TextEvent("Replay");
         replay.text="收到你的信息";

//抛出“Replay”事件
         dispatchEvent(replay);
  }

public function get flag():String
  {
   return _flag;
  }

public function set flag(value:String):void
  {
   _flag = value;
  }
  
  
 }

运行结果:

Flex事件机制学习-自定义事件实现类间通信 .的更多相关文章

  1. Java多线程学习(五)线程间通信知识点补充

    系列文章传送门: Java多线程学习(二)synchronized关键字(1) Java多线程学习(二)synchronized关键字(2) Java多线程学习(三)volatile关键字 Java多 ...

  2. java事件监听机制(自定义事件)

    java中的事件机制的参与者有3种角色: 1.event object:事件状态对象,用于listener的相应的方法之中作为参数,一般存在与listerner的方法之中 2.event source ...

  3. java事件处理机制(自定义事件)

    java中的事件机制的参与者有3种角色: 1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中 2.event sourc ...

  4. Flex中利用事件机制进行主程序与子窗体间参数传递

    在开发具有子窗体,或者itemrenderer的应用时,常常涉及到子窗体向父窗体传递参数或者从itemrenderer内的控件向外部的主程序传递参数的需求.这些都可以通过事件机制这一统一方法加以解决. ...

  5. Qt事件机制---信号通过事件实现,事件可以过滤,事件更底层,事件是基础,信号是扩展。

    转:http://www.cnblogs.com/findumars/p/8001484.html Qt事件机制(是动作发生后,一种通知对象的消息,是被动与主动的总和.先处理自己队列中的消息,然后再处 ...

  6. Android事件机制之一:事件传递和消费

    http://www.cnblogs.com/lwbqqyumidi/p/3500997.html 关于Android中的事件机制,用到的地方还是很多的,并且这个知识点还真有点复杂. 在写这篇文章前, ...

  7. js事件模型与自定义事件

    JavaScript 一个最简单的事件模型,需要有事件绑定与触发,还有事件删除. var eventModel = { list: {}, bind: function () { var args = ...

  8. 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题

    调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...

  9. mui 事件管理及自定义事件详解

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

随机推荐

  1. web开发框架之DRF

    RESTful架构解释: # Representational State Transfer 表现层状态转化 到底什么是RESTFul架构: 如果一个架构符合REST原则,就称它为RESTful架构. ...

  2. 折半查找,binarySearch

    折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务.它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比 ...

  3. google F12

    谷歌浏览器(Google Chrome)开发调试详细介绍 博客分类: 前端 浏览器chromegoogle调试开发  很多Web前台开发者都喜欢这种浏览器自带的开发者工具,这对前台设计.代码调试很大帮 ...

  4. Java-重定义标准输出和错误

    刚接触到错误日志的时候觉得很神奇,今天学习了一番后用代码写了出来. package com.tj; import java.io.File; import java.io.FileNotFoundEx ...

  5. luogu2569 [SCOI2010]股票交易

    题解看这里 #include <iostream> #include <cstring> #include <cstdio> using namespace std ...

  6. unittest和pytest对比

    一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...

  7. 脑阔疼的双层SQLserver游标

    本来简单的双层游标没啥的,内层游标需要读取的是视图的内容,一直报“当前命令发生了严重错误.应放弃任何可能产生的结果.”的错误.无可奈何尝试先将视图的数据放到表变量中,之后再用游标遍历表变量. 简直很怀 ...

  8. HDU 5527 Too Rich

    Too Rich Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  9. NYOJ 995 硬币找零

    硬币找零 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 在现实生活中,我们经常遇到硬币找零的问题,例如,在发工资时,财务人员就需要计算最少的找零硬币数,以便他们能从 ...

  10. matlab中函数学习——11月14日

    1.记录数组元素个数函数:numel() 解释:number of array 相当于 prod(size(A)) 2.添加路径: addpath('.\3rdparty\ksvd'); 3.pada ...