当您创建自己的自定义 Event 类时,必须覆盖继承的 Event.clone() 方法,以复制自定义类的属性。如果您未设置在事件子类中添加的所有属性,则当侦听器处理重新分派的事件时,这些属性将不会有正确的值。

自定义事件类 继承flash.events.Event类 下面看代码 其中 message 是自定义的属性, 下面要使用这个属性 来传递参数

[java]      view plain    copy

 
  1. package com.demo.event
  2. {
  3. import flash.events.Event;
  4. public class TestEvent extends Event
  5. {
  6. public static const EVENT_CLICK:String = "copy_text";
  7. public var message:String;
  8. public function TestEvent(type:String, message:String)
  9. {
  10. super(type);
  11. this.message = message;
  12. }
  13. override public function clone():Event{
  14. return new TestEvent(type,message);
  15. }
  16. }
  17. }

接下来建立一个控件 来指派这个事件
注册事件 CopyText

<fx:Metadata>   [Event(name="CopyText",type="com.demo.event.TestEvent")]  </fx:Metadata> 指派事件

protected function button1_clickHandler(event:MouseEvent):void    {     dispatchEvent(new TestEvent("CopyText",tempText.text));    }

[c-sharp]      view plain    copy

 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:mx="library://ns.adobe.com/flex/mx" width="400" height="300">
  5. <s:layout>
  6. <s:BasicLayout/>
  7. </s:layout>
  8. <fx:Metadata>
  9. [Event(name="CopyText",type="com.demo.event.TestEvent")]
  10. </fx:Metadata>
  11. <fx:Script>
  12. <!--[CDATA[
  13. import com.demo.event.TestEvent;
  14. protected function button1_clickHandler(event:MouseEvent):void
  15. {
  16. dispatchEvent(new TestEvent("CopyText",tempText.text));
  17. }
  18. ]]-->
  19. </fx:Script>
  20. <fx:Declarations>
  21. <!-- 将非可视元素(例如服务、值对象)放在此处 -->
  22. </fx:Declarations>
  23. <s:TextInput x="10" y="10" height="107" width="260" id="tempText"/>
  24. <s:Button x="14" y="124" label="Copy" click="button1_clickHandler(event)"/>
  25. </s:Group>

最后将这个控件放到主程序中, 并使用了这个自定义事件

[c-sharp]      view plain    copy

 
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:components="com.demo.view.components.*">
  5. <s:layout>
  6. <s:BasicLayout/>
  7. </s:layout>
  8. <fx:Script>
  9. <!--[CDATA[
  10. import com.demo.event.TestEvent;
  11. protected function testforms1_CopyTextHandler(event:TestEvent):void
  12. {
  13. this.t.text = event.message;
  14. }
  15. ]]-->
  16. </fx:Script>
  17. <fx:Declarations>
  18. <!-- 将非可视元素(例如服务、值对象)放在此处 -->
  19. </fx:Declarations>
  20. <components:testForms x="23" y="28" CopyText="testforms1_CopyTextHandler(event)">
  21. </components:testForms>
  22. <s:TextInput x="440" y="28" width="227" height="184" id="t"/>
  23. </s:Application>

flex中Event类的使用的更多相关文章

  1. AS3中 Event 类的target和currentTarget属性

    在事件处理过程中,会自动生成事件类的实例,并传给侦听器函数.通过这个参数就可以使用事件类的属性和方法.其中target与currentTarget属性是两个很相似的属性. 对于简单的事件处理过程,分清 ...

  2. Flex中如何利用FocusManager类的setFocus函数设置TextInput的焦点的例子

    参考:https://blog.csdn.net/liruizhuang/article/details/5876455 <?xml version="1.0" encodi ...

  3. Flex的 Event中属性currentTarget与target的区别

    Flex的 Event中属性currentTarget与target的区别 1.区别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...

  4. Flex的 Event中属性currentTarget与target的差别

    Flex的 Event中属性currentTarget与target的差别 1.差别 (1)currentTarget是事件的处理对象(event processor) (2)target是事件的调用 ...

  5. AS与JS相互通信(Flex中调用js函数)

    转载自http://www.blogjava.net/Alpha/archive/2009/06/27/284373.html Flex中As调用Js的方法是:     1.导入包 (import f ...

  6. SharedObject使用:在FluorineFx.net与Flex中使用共享对象维护在线用户列表实例【转】

    一.添加一个新的FluorineFx的服务类项目OnLineService,删除原有的Sample.cs,并添加一个用户类定义与一个ApplicationAdpater类:如下: /*-- User. ...

  7. Flex中NetConnection与NetStream的关系、及浏览器并发连接数测试[转]

    最近在做一个基于BS结构的视频会议系统,决定采用开源的FluorineFx.net与Flex结合的方法进行开发,前期开发都非常顺利,包括同步白板等.但到了实时视频传输的时候,原本设计是每个客户端可以显 ...

  8. Flex与Java交互(Flex调用java类展示数据)解析xml展示数据

    Flex与java通信最简单例子(详细说明了各种需要注意的配置):http://blog.csdn.net/u010011052/article/details/9116869 Flex与java通信 ...

  9. 使用as3crypto在Flex中实现AES加密

    要在Flex中实现AES加密,可以通过as3crypto实现.但是as3crypto本身的用法比较复杂,一般是封装一下再调用. 下面是9RIA上的一篇文章给出的一个实现,使用中稍感不方便(见注释): ...

随机推荐

  1. centos7与centos6区别

    CentOS 7 vs CentOS 6的不同   (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系统[CentOS6] ...

  2. iptables-1.4.19 移植到linux

    ------------------------------------------------------------------------------------------ https://g ...

  3. Myeclipse 创建 Web Maven项目

    1.创建Web项目 添加Maven支持 2.pom.xml 报如下错误: 解决办法: pom.xml里面添加依赖: <dependency> <groupId>com.thou ...

  4. HDU 2844 Coins 背包问题 + 二进制优化

    题目大意:某个人有n种硬币,每种硬币价值为v,数量为c,问在总价值不超过m的条件下,最多有多少种组合方式. 题目思路: 1.对于某种硬币 如果v*c 大于 m,就意味着无论取多少枚硬币,只要总价值不大 ...

  5. VIM继承C语言(转)

    在下面的基础上加上了astyle sh.c --style=kr --indent=spaces --indent-cases --pad-header --pad-oper --unpad-pare ...

  6. AppCompatActivity工具栏的设置(返回操作)

    <android.support.v7.widget.Toolbar android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionB ...

  7. 2016湖南省赛--A题--2016

    2016 [TOC] Description 给出正整数 n 和 m,统计满足以下条件的正整数对 (a,b) 的数量: 1. 1≤a≤n,1≤b≤m; 2. a×b 是 2016 的倍数. Input ...

  8. hadoop yarn 易理解

    Hadoop 和 MRv1 简单介绍 Hadoop 集群可从单一节点(其中所有 Hadoop 实体都在同一个节点上运行)扩展到数千个节点(其中的功能分散在各个节点之间,以增加并行处理活动).图 1 演 ...

  9. js 基础对象一

    JavaScript 通常用于操作 HTML 元素. Document元素 每个载入浏览器的 HTML 文档都会成为 Document 对象. Document 对象使我们可以从脚本中对 HTML 页 ...

  10. html base2

    <html> <body> <h1>My First Web Page</h1> <p id="demo">A Para ...