`

FLEX : Event 事件

    博客分类:
  • FLEX
阅读更多
ActionScript 3.0 Developer’s Guide / Core ActionScript Classes -> Handling events:
http://help.adobe.com/en_US/as3/dev/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fca.html
Using Flex 4.5 / Getting started -> Events:
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ee9.html
Event Propagation:
http://learn.adobe.com/wiki/display/Flex/Event+Propagation



Event-driven programming in Flex with Custom Events:
http://flexblog.faratasystems.com/2007/02/26/event-driven-programming-in-flex-with-custom-events
An indepth look at Flex Events:
http://codeofdoom.com/wordpress/2009/03/02/an-indepth-look-at-flex-events/



Attention:
当在as代码中置Combobox的selectedItem/selectedIndex 、DateField的selectedDate时,如:
comboBox.selectedIndex = j;

dateField.selectedDate = actDate;

并不会分发change事件!所以需要硬编码分发change event:
comboBox.selectedIndex = j;
comboBox.dispatchEvent(new IndexChangeEvent(IndexChangeEvent.CHANGE));

dateField.selectedDate = actDate;
dateField.dispatchEvent(new CalendarLayoutChangeEvent(CalendarLayoutChangeEvent.CHANGE));



绝好的一个理解FLEX事件的例子:华氏/摄氏温度转换类 DegreeConverter :
http://www.artima.com/articles/two_way_binding.html
引用
package com.artima {
  import flash.events.Event;
  import flash.events.EventDispatcher;

  [Bindable]
  public class DegreeConverter extends EventDispatcher {
													
    private var fahrenheitDegree: Number;
    private var celsiusDegree: Number;
																			
    public function set fahrenheit(n: Number): void {
      fahrenheitDegree = n; 
      celsiusDegree = (fahrenheitDegree - 32) * 5/9;
	  dispatchEvent(new Event("celsiusChanged", true, true)); 
    }

    [Bindable(event="fahrenheitChanged")]
    public function get fahrenheit(): Number {
      return fahrenheitDegree; 
    }
  
    public function set celsius(n: Number): void {
      celsiusDegree = n;
	  fahrenheitDegree = celsiusDegree * 9/5 + 32;
	  dispatchEvent(new Event("fahrenheitChanged", true, true));
    }

    [Bindable(event="celsiusChanged")]
    public function get celsius(): Number {
      return celsiusDegree;
    }
  }
}
分享到:
评论

相关推荐

    Flex.3事件机制(2)——Event对象视频

    Flex.3事件机制(2)——Event对象视频Flex.3事件机制(2)——Event对象视频Flex.3事件机制(2)——Event对象视频

    flex-event.zip_flex

    简要举例说明了Flex事件机制及其工作流程

    教你7步实现flex自定义Event与参数传递.doc

    教你7步实现flex自定义Event与参数传递.doc

    flexevent.rar_flex

    很多新人对Flex癿事件机制都丌太熟悉,在使用过程中难免会出现各种问题,这是一个非常普遍癿问题,为了更快更好癿帮助大家,将介绍一下Flex中事件癿各种机制和用法

    flex 事件与自定义事件

    如何接收事件?如何做到AS3.0的标准事件编程? 类似JAVA的监听或观察者模式 Event改变的部分很多,正在想怎样用一个有条理的方式来讲解Event和它相关的诸多内容,让我们感到比较容易理解,记忆和接受。

    flex4cookbook

    protected function app_creationCompleteHandler(event:FlexEvent):void { btn.addEventListener(MouseEvent.CLICK, showNames); btn.addEventListener(MouseEvent.CLICK, showtitles); } protected function...

    flex dispatchEvent 实例工程

    解压后,有两个flex工程:FlexServer1.1和FlexClient1.1,其中server是java的web工程,用于tomcat部署;client是flashBuilder的工程,主要是显示页面。具体原理参考相应blog。

    flex滤镜实例以及源码……

    import mx.events.FlexEvent; import mx.events.ListEvent; import mx.events.NumericStepperEvent; import mx.events.SliderEvent; //聚焦模糊 [Embed(source="pbj/zoomBlur.pbj",mimeType=...

    Flex Event总结

    对于学习flex event的朋友是个不错的参考。

    FLEX从入门到精通.pdf

     4.3.4 Event Dispatcher类  4.4 Flash Player API  4.4.1 Display API  4.4.2 Flash AIR的API  4.4.3 Flash 10的API  4.5 本章小结   第5章 Flex BuiIder3  5.1 Flex Builder入门  5.1.1...

    flex导出excel的代码

    function saveData(event:Event):void { var newFile:File = event.target as File; if (!newFile.exists) { var stream:FileStream = new FileStream(); stream.open(newFile, FileMode.WRITE); stream....

    flex播放mp3

    flex播放mp3源码: <s:BorderContainer x="131" y="147" width="369" height="108"> <s:Label x="83" y="47" text="进度:" width="45"/> <s:HSlider id="hslider1" x="135" y="48" width="221" changeEnd=...

    一个由MVC设计模式开发的例子,初学FLEX设计模式很好的资源

    参数是event:cairngromevent,这样是得不到事件中带来的valueobject类中的参数的,因为事件的cairngromevent只是你定义的事件继承的对象,即父类,多态的特性我们知道 父类是不能够获得子类派生的一些属性的,但是我们...

    Flex调用xml通过DataGrid遍历简单示例

    private function resultHandler(event:ResultEvent):void { slides = event.result.album.slide; } private function faultHandler(event:FaultEvent):void { Alert.show(event.fault....

    跟我StepByStep学FLEX教程-王一松.pdf

    1 10 跟我StepByStep学FLEX教程------Demo5之事件Event 1 11 跟我StepByStep学FLEX教程------Event事件机制 1 12 跟我StepByStep学FLEX教程------Demo6之自定义事件&自定义组件 1 13 跟我StepByStep学FLEX教程---...

    flex中event.preventDefault()方法取消事件的默认行为

    当点击datagrid的第一和第四项时,itemEdit事件将不起作用,许多事件都有默认执行的关联行为,接下来为大家详细介绍下,感兴趣的朋友可以参考下哈

    S32K144_Project_FlexCan_s32k底层开发_S32K144FlexCanCAN_

    S32K144

    flex 打开本地图片

    flex 打开本地图片并进行显示 var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onLoadByted); loader.loadBytes(this.fileReference.data);

    FLEX 完全屏蔽系统默认右键菜单,实现自定义菜单

    完全屏蔽flex自带的右键菜单,实现自定义右键菜单,附件有完整可运行的例子。 这个问题折腾了一天多,在网上搜了很多资料,几乎都是一样的,转来转去,且讲的不明不白。这里我提供了可运行的全部代码,让你轻松搞定...

    flex开发对时间控制

    flex 对时间的关注<mx:Script> <![CDATA[ // Event handler for the DateField change event. private function dateChanged(date:Date):void { if (date == null) selection.text = "Date selected: "; ...

Global site tag (gtag.js) - Google Analytics