自定义事件必须注意几点:
(1)自定义事件通过继承Event类来实现。
(2)自定义事件不可以自己触发,只能有系统事件派发。
了解这两点后现在就可以开始自定义自己的事件了。
首先我们新建一个ActionScript Class,这个Class继承flash.events.Event。
package
{
import flash.events.Event;
public class MyEvent extends Event
{
public function MyEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);
}
override public function clone():Event
{
// TODO Auto Generated method stub
return new MyEvent(type,bubbles,cancelable);
}
}
}
下面创建一个登录的组件(component),并添加和使用自定义事件
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
width="400" height="260" fontSize="22" fontWeight="bold" textAlign="center"
title="用户登录"
>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Metadata>
[Event(name="myevent", type="MyEvent")]
</fx:Metadata>
<s:Form id="loginForm">
<s:FormItem label="用户名:">
<s:TextInput id="username" textAlign="left"/>
</s:FormItem>
<s:FormItem label="密 码:">
<s:TextInput id="passwd" textAlign="left" displayAsPassword="true"/>
</s:FormItem>
</s:Form>
<s:Button id="registerBtn" x="56" y="160" label="重置"/>
<s:Button id="loginBtn" x="274" y="160" label="登录" click="clickHandle(event)"/>
<fx:Script>
<![CDATA[
private function clickHandle(event:MouseEvent):void {
this.dispatchEvent(new MyEvent("myevent",true,false));
}
]]>
</fx:Script>
</s:TitleWindow>
在主程序中引入刚才新建的component,并触发该
<?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"
xmlns:myLogin = "*"
>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<myLogin:MyLogin id="myLogin" x="278" y="114" myevent="clickedHandle(event)">
</myLogin:MyLogin>
<fx:Script>
<![CDATA[
import mx.controls.Alert;
private function clickedHandle(event:MyEvent):void {
Alert.show("The type of this event is "+event.type+"\nThe currentTarget is "+event.currentTarget+
"\nThe target is "+event.target);
}
]]>
</fx:Script>
</s:Application>
效果如下:
分享到:
相关推荐
这个主题聚焦于“flex自定义控件与事件”,这是一个关键的开发概念,特别是对于那些希望深入理解Flex架构和提升应用用户体验的开发者来说。 自定义控件在Flex开发中扮演着重要角色,它们允许开发者根据项目需求创建...
这个"flex自定义组件事件DEMO"提供了关于如何创建和管理自定义组件事件的实际示例。下面我们将详细探讨Flex自定义组件、事件处理以及如何通过示例进行学习。 1. Flex自定义组件:Flex允许开发者通过继承现有的...
可以使用`addEventListener()`方法,传入自定义事件的类型、监听函数和可选的捕获阶段参数。 5. **处理事件** - 监听函数将被调用,当自定义事件被派发时。在这个函数中,你可以访问事件对象来获取事件相关的数据...
### Flex自定义事件详解 Flex 是一款用于构建和部署跨平台桌面应用与移动应用的开源框架,它基于Adobe Flash Platform。在Flex应用开发过程中,事件处理机制是非常重要的一个环节,而自定义事件则是这一机制中的...
教你7步实现flex自定义Event与参数传递.doc
"flex自定义文本编辑器"是一个这样的示例,它展示了如何利用Flex4框架构建一个具备特定功能的文本编辑工具,同时集成了自定义的拾色器功能。下面我们将详细探讨这个项目的相关知识点。 首先,我们关注的是`Text...
我们就需要使用iClient for Flex的DynamicRESTLayer、TiledDynamicRESTLayer的customServiceParams参数,往后台服务器的REST接口customParams传递一些自定义的参数,然后重新写MapProvider的getMapImage()方法,对...
本文将介绍两种方法来实现Flex自定义右键菜单。 方法一: 1. **屏蔽内置右键菜单**:首先,我们需要在HTML模板文件(如`Index.template.html`)中引入两个JavaScript文件,`swfobject.js`和`rightClick.js`,用于...
总的来说,掌握ActionScript的自定义组件和自定义事件是提升Flash和Flex开发技能的重要一步。通过实践和研究“WinCCALLMine”中的示例,你可以更好地理解这些概念,并将其应用到你的项目中,从而创造出独特且功能...
Flex DataGrid提供了内置的排序功能,通过设置`sortable`属性和监听`sort`事件来实现。过滤功能通常需要编写自定义代码来实现,而分组则可以通过`grouping`属性和`AdvancedDataGrid`的`groupingEnabled`属性来开启。...
派发时需要实例化自定义事件,并传入相关参数: ```actionscript var customEvent:CustomEvent = new CustomEvent(CustomEvent.MY_EVENT, true, false, {message: "这是自定义数据"}); dispatchEvent(customEvent);...
Flex支持两种类型的事件:系统内置的事件和用户自定义事件。内置事件由Flex框架提供,用于处理常见的交互场景;自定义事件则允许开发者根据具体需求创建特定类型的事件来扩展Flex的应用能力。 在Flex中,事件模型...
在Adobe Flex Builder 3中,开发富互联网应用程序(RIA)时,经常需要在不同组件之间交换数据或参数。这是构建动态、交互式用户界面的关键环节。本教程将深入探讨Flex中组件之间的参数传递机制,帮助你更好地理解和...
监听器函数将接收自定义事件作为参数,然后执行相应的操作。此外,自定义事件还可以利用事件流的三个阶段,使得事件不仅可以在目标组件上处理,还可以在组件树的其他位置被捕捉或冒泡。 Flex事件机制还提供了事件...
这可以通过调用控件的addEventListener方法完成,传入事件类型、事件处理函数和可选的捕获阶段参数。事件处理函数会在事件触发时被调用。 5. 事件处理函数: 这是实际执行操作的部分,通常定义为一个函数,用于...
### Flex与AS自定义Fade效果实现 在Flex与ActionScript(简称AS)开发环境中,实现动画效果是一项重要的技能。本文将详细介绍如何通过Flex结合ActionScript来自定义实现一个fade(淡入淡出)效果,并通过循环该效果...
`Flex客户端自定义投影坐标转换.pdf`可能是详细的教程文档,它可能涵盖如何在Flex环境中使用SuperMap iClient API进行坐标转换的步骤和示例代码。`ClientProjection`可能是一个类或库,提供了坐标转换的具体实现。 ...
Flex允许开发人员自定义事件,以满足特定需求。创建自定义事件通常需要继承`Event`类或其子类,并重写必要的属性和方法。自定义事件应该清楚地定义其`type`,以便其他组件可以正确地处理它们。此外,如果自定义事件...
在Flex编程中,事件处理是构建用户界面交互性不可或缺的一部分。本资料包“全套 Flex 实例 源码 关于事件的处理(3)...同时,了解自定义事件的创建也是扩展Flex功能的关键步骤,这对于大型应用的模块化设计尤其重要。
在Flex编程中,"弹出窗口代码"是一个常见的需求,特别是在设计用户交互界面时,我们经常需要实现点击按钮后打开一个新的窗口或者对话框来展示更多信息或进行特定操作。本篇将详细讲解如何在Flex中创建一个点击按钮后...