博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flex自定义事件
阅读量:4199 次
发布时间:2019-05-26

本文共 1338 字,大约阅读时间需要 4 分钟。

 事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性。在高级语言中都会集成这方面特性;Flex也不例外几乎所有控件中都集成了大量的事件,如果Button的Click事件等。但实际应用中控件自有的事件是不能满真实需要的,特别在自己编写自定义控件时,自定义控件内部信息的改变如何及时通知所在的容器变得很更要;这个时候自定义事件就起到它的作用。

 

在Flex中定义事件有两中情况,分别是ActionScript和MXML中定义。

在ActionScript中定义:

[Event(name="myEnableEvent", type="flash.events.Event")]

public class MyComponent extends UIComponent

{

           ...

}

 

在MXML中定义:

<mx:Metadata>

    [Event(name="DataChange", type="DataChangeEvent")]

</mx:Metadata>

 

DataChangeEvent事件参数的定义:

import flash.events.Event;

public class DataChangeEvent extends flash.events.Event

{

       public function DataChangeEvent()

       {

              super("DataChange");

       }

       public var Data:Object;

}

 

在自定义控件中定义和触发事件:

<?xml version="1.0" encoding="utf-8"?>

<mx:Form xmlns:mx="" width="212" height="56">

 <mx:Metadata>

        [Event(name="DataChange", type="DataChangeEvent")]

    </mx:Metadata>

 <mx:Button label="Button" click="Change()"/>

       <mx:Script>

              <![CDATA[

                     function Change():void

                     {

                            this.dispatchEvent(new DataChangeEvent());

                     }

              ]]>

       </mx:Script>

</mx:Form>

 

容器接收相关自定义控件事件:

<mx:Application xmlns:mx="" layout="absolute" xmlns:ns1="*">

      

       <ns1:EmployeeCombo x="146" y="132" DataChange="onChange(event)" >

       </ns1:EmployeeCombo>

       <mx:Script>

              <![CDATA[

                     import mx.controls.Alert;

                     function onChange(e:DataChangeEvent)

                     {

                           

                     }

              ]]>

       </mx:Script>

</mx:Application>

 

其实自定义事件的现实也很简单,但起着非常重要的作用;正是因为有了事件的机制,使得大部分重复的功能抽取到自定义控件中,从而达到一个很高的代码重用性。

转载地址:http://vpbli.baihongyu.com/

你可能感兴趣的文章
Keras(六)keras模型封装转化为sklearn模型、使用超参数搜索
查看>>
排坑:TypeError: handle_get_file_code() got an unexpected keyword argument ‘save_all‘
查看>>
Keras(七)TF2中基础的数据类型API介绍
查看>>
Keras(八)实战自定义损失函数、DenseLayer
查看>>
Keras(九) tf.function函数转换、@tf.function函数转换
查看>>
Keras(十) TF函数签名与图结构
查看>>
Keras(十一)梯度带(GradientTape)的基本使用方法,与tf.keras结合使用
查看>>
Keras(十二)tf_data基础API使用
查看>>
Keras(十三)生成csv文件
查看>>
Keras(十四)tf.data读取csv文件并与tf.keras结合使用
查看>>
python之正则表达式方法详解
查看>>
Keras(十五)tf_record基础API使用
查看>>
Keras(十六)生成、读取tfrecords文件,并与tf.keras结合使用
查看>>
Keras(十七)关于feature_column的使用、keras模型转tf.estimator
查看>>
Keras(十八)预定义estimator使用、交叉特征实战
查看>>
Keras(十九)卷积神经网络实战
查看>>
Keras(二十)深度可分离卷积网络实战
查看>>
Keras(二十三)cifar10数据集使用keras generator读取、模型训练、预测
查看>>
Keras(二十五)NLP文本分类,序列式问题和循环神经网络模型理论
查看>>
Keras(二十六)NLP文本分类,单层单向RNN,单层双向RNN,双层双向 RNN的实现
查看>>