Flex自定义事件用法指南

本文和大家重点讨论一下Flex自定义事件的用法,事件是一个非常有用的功能,通常用于信息传递交互大大提高程序编写的灵活性。

成都创新互联是一家从事企业网站建设、成都网站制作、网站建设、外贸网站建设、行业门户网站建设、网页设计制作的专业的建站公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点上1000家。

Flex自定义事件

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

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

在ActionScript中定义:

 
 
 
  1. [Event(name="myEnableEvent",type="flash.events.Event")]  
  2.  
  3. publicclassMyComponentextendsUIComponent  
  4.  
  5. {  
  6.  
  7. ...  
  8.  
  9. }  
  10.  

Flex自定义事件在MXML中定义:

 
 
 
  1.  
  2.  
  3. [Event(name="DataChange",type="DataChangeEvent")]  
  4.  
  5.  
  6.  

 DataChangeEvent事件参数的定义:

 
 
 
  1. importflash.events.Event;  
  2.  
  3. publicclassDataChangeEventextendsflash.events.Event  
  4.  
  5. {  
  6. publicfunctionDataChangeEvent()  
  7.  
  8. {  
  9. super("DataChange");  
  10. }  
  11.  
  12. publicvarData:Object;  
  13. }  
  14.  
  15.  

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

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. [Event(name="DataChange",type="DataChangeEvent")]  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16. functionChange():void  
  17.  
  18. {  
  19.  
  20. this.dispatchEvent(newDataChangeEvent());  
  21.  
  22. }  
  23.  
  24. ]]> 
  25.  
  26.  
  27.  
  28.  
  29.  

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

 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10. importmx.controls.Alert;  
  11.  
  12. functiononChange(e:DataChangeEvent)  
  13.  
  14. {  
  15.  
  16. }  
  17.  
  18. ]]> 
  19.  
  20.  
  21.  
  22.  
  23.  

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

【编辑推荐】

  1. 解析Flex渲染器的使用
  2. Flex主题创建及支持的样式设置方式
  3. 全面认识Flex应用程序的六大元素
  4. 揭开Flex正则表达式的神秘面纱
  5. Flex数据绑定及其使用频繁的几种情况 

本文名称:Flex自定义事件用法指南
当前链接:http://www.shufengxianlan.com/qtweb/news32/272332.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联