1.创建事件
public class TestEvent extends Event
{
//事件类型
public static const TEST_EVENT:String = "TEST_EVENT";
//存储事件的附加信息
public var data:Object;
public function TestEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
}
2.注册监听
3.分派事件
4.执行监听
<?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"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="init()">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.mydispatcher.TestEventDispatcher;
import com.myevent.TestEvent;
//2.注册监听
private function init():void
{
//4.监听到后,就会执行testListener
addEventListener(TestEvent.TEST_EVENT,testListener);
//var ted:TestEventDispatcher = new TestEventDispatcher();
}
//自己派发的事件,所以在init自己监听就行了
private function onClick():void
{
trace("执行了");
var testEvent:TestEvent = new TestEvent(TestEvent.TEST_EVENT,true);
//3.派发事件
dispatchEvent(testEvent);
trace(testEvent.eventPhase+"=========");
}
//别人派发的事件,所以需要在别人的对象旬添加监听
private function onClick2():void
{
trace("执行了");
var ted:TestEventDispatcher = new TestEventDispatcher();
//ted派发事件,所以给在ted上添加监听
ted.addEventListener(TestEvent.TEST_EVENT,testListener);
ted.createAndDispathEvent();
}
private function testListener(event:TestEvent):void
{
trace("我监听到了!");
trace(event.eventPhase);
}
]]>
</fx:Script>
<s:Panel width="100%" height="100%" >
<s:HGroup>
<s:Button label="点击" click="onClick()"/>
<s:Button label="点击2" click="onClick2()"/>
</s:HGroup>
</s:Panel>
</s:Application>
public class TestEventDispatcher extends EventDispatcher
{
public function TestEventDispatcher(target:IEventDispatcher=null)
{
super(target);
//this.addEventListener(TestEvent.TEST_EVENT,onTestEvent);
}
//创建并派发事件
public function createAndDispathEvent():void{
var testEvent:TestEvent = new TestEvent(TestEvent.TEST_EVENT,true);
testEvent.data = "这是一个测试事件";
dispatchEvent(testEvent);
}
//事件侦听器
// public function onTestEvent(event:TestEvent):void{
// trace(event.data);
// }
}
分享到:
相关推荐
自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及如何在一个完整的项目中导入和运行。 1. **创建自定义事件类** - 首先,...
### Flex自定义事件详解 Flex 是一款用于构建和部署跨平台桌面应用与移动应用的开源框架,它基于Adobe Flash Platform。在Flex应用开发过程中,事件处理机制是非常重要的一个环节,而自定义事件则是这一机制中的...
4. 示例学习:在"flex自定义组件事件DEMO"中,你可以看到如何在自定义组件中创建并派发自定义事件,以及如何在其他地方监听和响应这些事件。通过分析代码,可以了解事件生命周期、事件冒泡和捕获的概念,以及如何在...
在MXML中,你可以使用`<mx:Metadata>`标签声明自定义事件,然后在代码中使用`dispatchEvent()`方法触发这些事件。 5. **MXML使用**:MXML是一种声明式语言,用于描述Flex界面的布局和组件。在MXML文件中,你可以像...
### 二、Flex自定义事件 #### 1. 为什么需要自定义事件 Flex的内置事件(如 MouseEvent 和 Event)可能不足以满足所有交互需求。自定义事件允许开发者创建具有特定含义和数据的事件,以更好地匹配应用的业务逻辑。...
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...
### Flex自定义ToolTip详解 在Flex开发中,`ToolTip`是一种非常实用的界面元素,用于在用户悬停或聚焦某个控件时显示额外的信息。默认情况下,Flex提供了基本的`ToolTip`功能,但有时为了满足特定的设计需求或者...
在本文中,我们将深入探讨如何在Flex...总结来说,自定义Flex加载条是一项涉及组件样式、模板、动画和事件处理的综合工作。通过学习和实践这个示例,你可以掌握如何根据项目需求定制出独特的加载条组件,提升用户体验。
本篇文章将深入探讨如何在Flex环境中自定义实现一个具备展开、收缩功能的多级目录树形结构。 首先,让我们理解`Flex`布局。Flex布局,全称为Flexible Box,是一种用于容器中元素的布局模型,旨在提供更好的灵活性,...
在标题“各种Flex自定义组件”中,我们可以推断这是一个包含多种定制Flex组件的资源集合。这些组件可能包括时间选择器、数据网格(datagrid)、树形视图(tree)和下拉组合框(combox)。每个组件都有其特定的用途和...
标题提到的"flex 自定义进度条",指的是利用Flex布局技术来设计一个可定制的进度条组件。Flex布局,全称为Flexible Box布局,是一种在CSS3中引入的布局模型,旨在提供更灵活的盒状模型布局方式,尤其适合在不同屏幕...
Flex 自定义 时间 日历 控件
标题中的“flex自定义组件介绍”指的是在Adobe Flex框架中创建和使用自定义组件的过程。Flex是一个基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。自定义组件允许开发者根据特定需求扩展Flex...
综上所述,FLEX自定义等待图标资源为开发者提供了丰富的选项,帮助他们提升应用程序的用户体验。通过灵活地使用SWF和GIF资源,开发者可以创造出与应用风格相符且用户体验优良的等待动画。同时,理解和掌握如何在FLEX...
Flex 自定义公共包,可以在项目里直接使用
3. **派发事件**:在需要触发事件的地方,使用`dispatchEvent()`方法发送自定义事件。 4. **监听事件**:在接收方组件中,使用`addEventListener()`方法添加事件监听器,处理自定义事件。 在提供的“WinCCALLMine”...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
Flex自定义编辑项目是一种基于Adobe Flex技术的开发工具,它为用户提供了一种类似于Flash IDE的交互体验。这个项目的核心特点是其高度的可定制性,允许开发者进行多种视觉元素的编辑操作,如拖拽、放大、缩小、添加...
本视频教程聚焦于Flex4中ActionScript(AS)的自定义事件使用,这在开发过程中非常重要,因为它允许开发者扩展和定制应用程序的通信机制。 自定义事件是Flex编程中的一个关键概念,它允许开发人员创建具有特定业务...