`

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:事件的流转控制.doc

    ### Flex:事件的流转控制 #### 一、事件机制概览 在Flex中,事件机制是一种非常核心且灵活的功能,它允许开发人员有效地管理和响应应用程序内的各种交互行为。Flex的应用程序是基于事件驱动架构的,这意味着大...

    flex-event.zip_flex

    3. 目标阶段:事件达到实际触发事件的目标组件。在这一阶段,目标组件上的监听器将被调用。 在Flex中,可以使用addEventListener方法添加事件监听器,通常包括事件类型、处理函数和可选的捕获标志。...

    flexevent.rar_flex

    1. 定义事件类:通过继承Event类或其子类,如FlexEvent,定义自定义事件类,添加自己的属性和方法。 2. 分发自定义事件:在事件源中创建自定义事件实例,并使用dispatchEvent方法分发。 3. 注册监听器:与处理内置...

    Flex:获得鼠标所在位置的经纬度坐标.doc

    function onMouseMove(event:MouseEvent):void { // 获取鼠标位置 var mouseX:Number = map.mouseX; var mouseY:Number = map.mouseY; // 创建一个Point对象存储坐标 var point:Point = new Point(mouseX, ...

    flex4自定义事件用法

    通常,我们会选择`flash.events.Event`或`mx.events.FlexEvent`作为基类,前者适用于基本事件,后者则为Flex框架提供了一些额外的属性和方法。 - 自定义事件类应包含一个构造函数,用于初始化事件的属性。例如,...

    Flex事件机制详细说明

    其中`event_type`是事件类型,可以是Flex内置的事件类型,也可以是用户自定义的事件类型。此方法返回一个布尔值,通常为`true`,表示事件已成功分发。 为了向`Event`对象添加新的属性,开发者可以继承`Event`类并...

    flex自定义组件事件DEMO

    - 创建事件类:继承自mx.events.Event类或与其相关的子类,如FlexEvent。 - 定义事件类型:通过静态常量定义事件标识符。 - 派发事件:在组件中使用dispatchEvent方法触发自定义事件。 3. 事件处理:处理自定义...

    flex控件事件

    每个事件类型都有一个唯一的字符串标识,如“MouseEvent.CLICK”或“FlexEvent.CHANGE”。 3. 事件对象: 当事件发生时,会创建一个事件对象,它包含了关于事件的所有信息,如事件类型、时间源、事件目标等。...

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

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

    flex事件机制的分发

    在Flex中,可以通过继承`flash.events.Event`类来创建自定义事件。如示例代码所示,`CustomEvent`类扩展了`Event`,添加了一个`data`属性,用于传递额外的数据。自定义事件通常包括以下方法: - `constructor`:...

    flex自定义事件、简单例子说明

    private function mybutclick(event:MouseEvent):void { var me:MyEvent = new MyEvent(myvalue.text, "MY_CLICK"); this.dispatchEvent(me); } ]]> </mx:Script> <mx:Button id="mybut" x="167" y="116" ...

    Flex程序如何获取html容器传递的URL参数值

    private function handleAddToStage(event:Event):void { ExternalInterface.addCallback("parseUrlParams", parseUrlParams); } private function parseUrlParams():void { var params:Object = JSON.parse...

    Flex 指定文件下载 带进度条

    function onProgress(event:Event):void { var loaded:Number = event.bytesLoaded; var total:Number = event.bytesTotal; // 更新进度条UI } function onComplete(event:Event):void { // 文件下载完成,处理...

    Flex Tree 的右键菜单事件

    private function onMenuShow(event:Event):void { var menu:ContextMenu = new ContextMenu(); // 添加菜单项 var menuItem:MenuItem = new MenuItem(); menuItem.label = "删除"; menuItem....

    关于flex事件的讲解.rar

    例如,`function handleEvent(event:Event):void`这样的函数可以处理所有类型的事件,而`function handleClick(event:MouseEvent):void`则专门处理鼠标点击事件。 8. **事件阻止和停止**:`stopPropagation`方法...

    flex的事件详解

    5. **事件流**:事件从派发器到目标的流动路径,包括捕获阶段、目标阶段和冒泡阶段。 #### 四、事件对象与处理机制 在ActionScript 3.0中,每个事件都由一个事件对象表示,通常是一个`Event`类或其子类的实例。...

    Flex事件机制(通俗易懂)

    var clickEvent:MouseEvent = new MouseEvent("click", false); this.dispatchEvent(clickEvent); } ]]> </mx:Script> <mx:Button id="testBtn" click="dispatchClickEvent()" label="测试" /> ``` 在此示例中,...

    flex上:简单的将xml内容生成文件存到本地的一个小例子

    function saveCancelled(event:Event):void { trace("Save operation was cancelled by the user."); } ``` 5. **安全限制**: 需要注意的是,由于Flash Player的安全限制,`FileReference`的`save`方法只能在...

    Flex各自定义组件事件通讯例子

    在Flex开发中,自定义组件和事件通讯是构建复杂应用程序的关键技术。本示例通过一个简单的用户登录场景,深入解析了如何实现组件间的有效通信。下面将详细解释Flex自定义组件、事件处理以及它们在实际应用中的作用。...

    Flex4.5事件机制

    在ActionScript 3.0中,每个事件都由一个事件对象表示,这个对象继承自Event类或其子类。事件对象携带特定事件的相关信息,并提供了操作这些事件的方法。例如,鼠标点击会创建一个MouseEvent实例。ActionScript 3.0...

Global site tag (gtag.js) - Google Analytics