flex自定义组件与自定义事件
2013-09-25 17:14
435 查看
今天研究了一下flex自定义控件与事件,成功!过程详细如下:
1,首先新建一个mxml组件文件,各个参数自己填写。
2,新建一个ActionScript类文件,定义名称,选择超类为“flash.events.Event”,
3,自定义组件与事件的引用
1,首先新建一个mxml组件文件,各个参数自己填写。
<?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" > <fx:Script> <![CDATA[ import mx.events.FlexEvent; //定义需要给这个自定义组件传入的属性值 [Bindable] public var imgPath:String; [Bindable] public var imgName:String; //自定义组件中,某一个控件的事件, protected function UserImg_clickHandler(event:MouseEvent):void { // TODO Auto-generated method stub //通过组件的事件,创建自定义的事件, 并分发(广播)事件;当点击图片时就触发了这一事件 this.dispatchEvent(new customEvent(customEvent.eventName,imgName)); } ]]> </fx:Script> <fx:Metadata> //由于是自定义的组件,如何知道它有哪些事件-----通过元数据 //以下据表明:本组件custonImage有一个imgClicked事件(在下文中声明的事件名称),,类似与Button组件的click事件, // 类型为customEvent(在下文中声明的事件类型),类似于Button的MouseEvent [Event(name="imgClicked", type="compent.customEvent")] </fx:Metadata> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <s:Image id="UserImg" width="100%" height="100%" scaleMode="stretch" source="{imgPath}" click="UserImg_clickHandler(event)"/> </s:Group>
2,新建一个ActionScript类文件,定义名称,选择超类为“flash.events.Event”,
package compent { import flash.events.Event; //定义事件类型 public class customEvent extends Event { //定义事件名称 public static const eventName:String="imgClicked"; //定义事件需要传出的参数 public var imgNameStr:String; public function customEvent(type:String,$data:String=null, bubbles:Boolean=false, cancelable:Boolean=false) { super(type, bubbles, cancelable); this.imgNameStr=$data; } } }
3,自定义组件与事件的引用
protected function windowedapplication1_creationCompleteHandler(event:FlexEvent):void { img.imgPath="toolsPng/pageLeft.png"; img.imgName="zk"; img.addEventListener(customEvent.eventName,showImgName); } function showImgName(e:customEvent):void { Alert.show(e.imgNameStr); } <compent:customImage id="img" x="696" y="354" width="200" height="100"/>
相关文章推荐
- flex自定义组件和自定义事件
- 快速掌握小程序组件事件自定义参数的方法
- js框架 dwz jui 的日历组件 添加自定义事件
- 浅谈Vue.js 组件中的v-on绑定自定义事件理解
- Vue.js自定义事件的表单输入组件方法
- 自定义组件点击只有down事件,原理深度解析
- list组件中的双击事件已经tooltip自定义
- Vue组件之自定义事件的功能图解
- Vue.js 组件中的v-on绑定自定义事件理解
- [原创]代码范例:自定义组件和自定义事件
- unity 脚本(自定义组件)的事件触发关系
- 为Flex自定义组件添加属性和事件
- vue自定义事件 子组件向父组件通信
- 自定义组件+如何让自定义Layout截取Touch事件
- FLEX中给组件添加自定义事件
- 带着实例继续学习(2):父子组件通信之自定义事件
- ExtJS中自定义组件并将事件暴露给调用者
- Flex自定义组件与自定义事件
- 自定义Flex事件,实现组件间传递事件
- Vue EventBus自定义组件事件传递