`
txf2004
  • 浏览: 7155396 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

UIComponent的生命周期(life cycle)--转自N神的日志

阅读更多

我只转载我认为十分有意义的技术内容。N神的这篇当然值得,作为为数不多的RIA的初期技术BLOG希望他继续有这样的贡献,感激不尽

  写flex组件,了解UIComponent的生命周期(life cycle)很重要,尤其是初始化(initialization)的过程很复杂,贴个文件可以很容易看清这个顺序
  文件如下:
  package
  {
  import flash.events.Event;
  
  import mx.core.UIComponent;
  import mx.events.FlexEvent;
  
  public class UILifeCycle extends UIComponent
  {
  public function UILifeCycle()
  {
  super();
  trace("***[ constructor ]");
  
  //flash.events.Event
  this.addEventListener(Event.ADDED,onAdded);
  this.addEventListener(Event.ADDED_TO_STAGE,onAddedToStage);
  this.addEventListener(Event.REMOVED,onRemoved);
  this.addEventListener(Event.REMOVED_FROM_STAGE,onRemovedFromStage);
  
  //mx.events.FlexEvent;
  this.addEventListener(FlexEvent.ADD,onAdd);
  this.addEventListener(FlexEvent.REMOVE,onRemove);
  this.addEventListener(FlexEvent.PREINITIALIZE,onPreinitialize);
  this.addEventListener(FlexEvent.INITIALIZE,onInitialize);
  this.addEventListener(FlexEvent.CREATION_COMPLETE,onCreationComplete);
  
  }
  
  //flash.events.Event
  private function onAdded(eo:Event):void{trace(eo.toString())};
  private function onAddedToStage(eo:Event):void{trace(eo.toString())};
  private function onRemoved(eo:Event):void {trace(eo.toString())};
  private function onRemovedFromStage(eo:Event):void {trace(eo.toString())};
  
  //mx.events.FlexEvent;
  private function onAdd(eo:FlexEvent):void {trace(eo.toString())};
  private function onRemove(eo:FlexEvent):void{trace(eo.toString())};
  private function onPreinitialize(eo:FlexEvent):void{trace(eo.toString())};
  private function onInitialize(eo:FlexEvent):void{trace(eo.toString())};
  private function onCreationComplete(eo:FlexEvent):void{trace(eo.toString())};
  
  override protected function createChildren():void{trace("***[ createChildren ]")}
  override protected function commitProperties():void{trace("***[ commitProperties ]")}
  override protected function measure():void{trace("***[ measure ]")}
  override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{trace("***[ updateDisplayList]")}
  
  }
  }
  拖到舞台上发布就可以看到trace信息了
  ***[ constructor ]
  [Event type="added" bubbles=true cancelable=false eventPhase=2]
  [Event type="add" bubbles=false cancelable=false eventPhase=2]
  [Event type="preinitialize" bubbles=false cancelable=false eventPhase=2]
  ***[ createChildren ]
  [Event type="initialize" bubbles=false cancelable=false eventPhase=2]
  ***[ commitProperties ]
  ***[ measure ]
  ***[ updateDisplayList]
  [Event type="creationComplete" bubbles=false cancelable=false eventPhase=2]
  [Event type="addedToStage" bubbles=false cancelable=false eventPhase=2]
  如果想详细的了解各个部分请看
  本站推荐过的<Programing Flex 2>那本书的最后一章
  或者在自带的帮助中找Creating and Extending Flex 3 Components / Creating ActionScript Components / Creating Advanced Visual Components in ActionScript
  偶简单总结了一下
  组件的life cycle包含3个阶段:initialization, update, destruction.
  initialization阶段又包括construction部分, attachment部分,和initialization部分,直接看偶下边画的图吧
  
  
  
  .....


本文转自
http://www.nshen.net/blog/article.asp?id=519

分享到:
评论

相关推荐

    marlett_01_0109.pdf

    marlett_01_0109

    [AB PLC例程源码][MMS_040384]Winder Application.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    stassar_3cd_01_0716.pdf

    stassar_3cd_01_0716

    malpass_02_0907.pdf

    malpass_02_0907

    [AB PLC例程源码][MMS_046459]InView on EtherNet Add On Instruction.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    matlab程序代码项目案例:matlab程序代码项目案例文档+程序具有输出LC滤波器的三相逆变器的前馈神经网络模型预测控制.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    matlab程序代码项目案例:matlab程序代码项目案例基于运动学车辆模型的开放式驾驶MPC横向控制算法.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    matsumoto_01_1107.pdf

    matsumoto_01_1107

    [AB PLC例程源码][MMS_045719]Rotary Knife with SoftLogix.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    QT第五课-QT系统相关-文件

    代码

    大模型创业者手册-法务与产品合规篇.pdf

    大模型创业者手册-法务与产品合规篇.pdf

    [AB PLC例程源码][MMS_046456]ME Equipment Status Summary Faceplate for PowerFlex, Kinetix, E3 Plus,.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    指标体系数据开发.pptx

    指标体系数据开发

    半导体三极管β值测量仪的设计与制作

    半导体三极管β值测量仪的设计与制作

    [AB PLC例程源码][MMS_047416]ME Faceplates-AOIs for GuardLogix Safety Systems.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_041473]Input Time Stamping.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    本文将带你深入了解如何使用OpenCV库实现图片拼接技术,打造令人惊叹的全景图像。通过清晰的步骤讲解和代码示例

    本文将带你深入了解如何使用OpenCV库实现图片拼接技术,打造令人惊叹的全景图像。通过清晰的步骤讲解和代码示例

    nicholl_01_0508.pdf

    nicholl_01_0508

    lim_3ck_04_0719.pdf

    lim_3ck_04_0719

    DeepSeek入门宝典-个人使用篇.pdf

    DeepSeek入门宝典-个人使用篇.pdf

Global site tag (gtag.js) - Google Analytics