Flex之自定义事件
1、通过dispatchEvent委托事件模式完成自定义事件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
creationComplete="application1_creationCompleteHandler()"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.messaging.events.MessageEvent; protected function application1_creationCompleteHandler():void
{
this.addEventListener("Clicked",clickedHandler);
Alert.show(" creationComplete ","提示");
} private function clickedHandler(e:Event):void{
Alert.show("事件响应","提示");
} protected function button1_clickHandler():void
{
dispatchEvent(new Event("Clicked"));
Alert.show(" click ","提示");
} ]]>
</fx:Script>
<fx:Metadata>
[Event(name="Clicked",type="flash.events.Event")]
</fx:Metadata>
<s:Button x="102" y="29" label="按钮" enabled="true" width="85" height="35" click="button1_clickHandler()" />
</s:Application>
2、通过继承Event类是实现自定义事件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" creationComplete="application1_creationCompleteHandler(event)"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import com.flex.event.MyEvent; import mx.controls.Alert;
import mx.events.FlexEvent; protected function application1_creationCompleteHandler(event:FlexEvent):void
{
this.addEventListener(MyEvent.MYEVENT,eventHindler);
}
//自定义函数
private function eventHindler(e:MyEvent):void{
Alert.show("事件响应结果:"+e.getEventObj(),"提示");
} protected function button1_clickHandler(event:MouseEvent):void
{
var evt:MyEvent = new MyEvent(MyEvent.MYEVENT,122);
dispatchEvent(evt); //将事件发送出去
} ]]>
</fx:Script>
<fx:Declarations> </fx:Declarations>
<s:Button x="93" y="59" label="click me" click="button1_clickHandler(event)"/>
</s:Application>
MyEvent类定义:
package com.flex.event
{
import flash.events.Event; public class MyEvent extends Event
{
public static const MYEVENT:String="myevent";
private var eventObj:int;
public function MyEvent(type:String, i:int,bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
this.eventObj=i;
}
public function getEventObj():int{
return this.eventObj;
}
}
}
Flex之自定义事件的更多相关文章
- 【教程】【FLEX】#003 自定义事件、模块间通讯
本篇笔记,主要阐明 事件是如何创建 和 如何使用自定义事件达到模块之间通讯 的效果. 句子解释: 什么叫做模块之间的通讯呢?? 简单点说,就是两个模块之间可以互相传数据. A模块 可以接收到 B模块的 ...
- Flex 自定义事件
一.分派自定义事件类型 任何实现flash.event.IEventDispatcher接口的对象都可以分派事件,这包括所有显示对象和一些非显示对象类.通常,对于 自定义的非显示类,可以通过扩展fla ...
- Flex事件机制学习-自定义事件实现类间通信 .
今天,学习Flex自定义事件,可以使两个类通信,定义一个Main类. public class Main extends Sprite { public function ...
- FLEX自定义事件
有时候我们需要让两个组件之间实现联动,并且在其中传递数据,自定义事件机制可以帮助我们比较优雅的实现这种需要. 下面的例子,是打算实现一个列表和一个编辑框的联动. 编辑框代码 <?xml vers ...
- flex中dispatchEvent的用法(自定义事件) .
Evevt和EventDispatcher类在as3的事件机制中是很重要的角色,dispatchEvent()是EventDispatcher类的一个事件发送方法,它可以发送出Event类或其子类的实 ...
- [置顶] flex4事件监听与自定义事件分发(三)
1.我们来说一下自定义事件子类.什么时候创建新的事件类以及怎么创建. (1)说一下,我们什么时候需要自定义事件类.举例说明,在flex中事件的基类是Event,而当我们点击某个按钮或者是单击某个组件的 ...
- ExtJS自定义事件
1.开发ExtJS组件UI的时候,基本上对于一些操作,就是与后台交互之类的多数都是用户进行点击触发一个事件,在事件的处理器handler里面调具体的业务方法,完成业务数据的处理以及业务流程的流转机制, ...
- 谈谈JS的观察者模式(自定义事件)
呼呼...前不久参加了一个笔试,里面有一到JS编程题,当时看着题目就蒙圈...后来研究了一下,原来就是所谓的观察者模式.就记下来...^_^ 题目 [附加题] 请实现下面的自定义事件 Event 对象 ...
- Javascript之自定义事件
Javascript自定义事件,其本质就是观察者模式(又称订阅/发布模式),它的好处就是将绑定事件和触发事件相互隔离开,并且可以动态的添加.删除事件. 下面通过实例,一步一步构建一个具体的Javasc ...
随机推荐
- Eclipse 插件 —— RunJettyRun 的下载、安装与使用
关于 Jetty 与 Eclipse 的集成,网上很多都是使用 Eclipse 的一个自动安装功能 —— Software Update.个人不太喜欢这种方式.这种安装方式有点问题:第一,需要网络流畅 ...
- Android HTTPS(5)SSL测试工具
Nogotofail: A Network Traffic Security Testing Tool Nogotofail is a tool gives you an easy way to co ...
- HDU 1941 Hide and Seek(离散化+树状数组)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1941 题意:给出平面上n个点,找出一点p,使得距离p最近和最远的点的距离之差最小.输出这 ...
- Top 10 steps to optimize data access in SQL Server
2009年04月28日 Top 10 steps to optimize data access in SQL Server: Part I (use indexing) 2009年06月01日 To ...
- leetcode:Search for a Range(数组,二分查找)
Given a sorted array of integers, find the starting and ending position of a given target value. You ...
- 《OD大数据实战》HBase环境搭建
一.环境搭建 1. 下载 hbase-0.98.6-cdh5.3.6.tar.gz 2. 解压 tar -zxvf hbase-0.98.6-cdh5.3.6.tar.gz -C /opt/modul ...
- android--多View切换viewpager
网上看到viewpager的多view动画切换,模仿制作了一个 学习到了. 先看效果图: 先看主类的layout <LinearLayout xmlns:android=" ...
- java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误
Tomcat 启动时 java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully 错误 这 个错误 碰到好几 ...
- hdu4618 Palindrome Sub-Array dp+记忆化搜索 或者直接暴力
题意就是找一个 左右上下对称的正方形矩阵. 连接:http://acm.hdu.edu.cn/showproblem.php?pid=4618 没想到记忆+dp和暴力就能水过... //记忆话搜索+d ...
- (转)FirstResponder 释放问题
FirstResponder 释放问题 转自:http://www.cnblogs.com/smileEvday/archive/2012/03/18/2405190.html View的FirstR ...