我只转载我认为十分有意义的技术内容。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
分享到:
相关推荐
Flex组件的生命周期是Adobe Flex框架中一个至关重要的概念,它涉及到UIComponent类及其子类(如Button、Canvas等)在创建、初始化、显示和销毁过程中的各个阶段。深入理解组件生命周期有助于开发者更有效地管理组件...
UIComponent.unitypackage
### 深入理解FLEX组件生命周期 #### 一、引言 在FLEX开发过程中,深入了解组件的生命周期对于优化应用程序性能、确保组件正确响应用户交互至关重要。本文将详细解析Flex组件生命周期的主要阶段:初始化...
这可能包括了解组件的生命周期、状态管理、事件处理、以及如何将组件集成到更大的应用程序中。此外,项目可能还提供了详细的文档和示例代码,帮助初学者理解组件化的思想和实践。 在实际应用中,UIComponent的使用...
Flex组件生命周期是软件开发中关于Adobe Flex框架的重要概念,它涉及到UIComponent的创建、初始化、显示和销毁等各个阶段。Flex应用的根对象是SystemManager,这是一个Display Class,继承自flash.display.MovieClip...
MatlabGUI使用java组件无所不能-uicomponent.m 是不是曾经想做出漂亮的GUI 界面? 是不是曾经想在 Matlab GUI里面显示网页? 看看这个界面: matlab_java.png 所以,...
UICOMPONENT 旨在直接替代 Matlab 的内置 UICONTROL 和 JAVACOMPONENT 函数。 它接受 UICONTROL 接受的所有参数和样式,以及任何其他可显示的 Java (Swing/AWT) 组件类。 保留了 UICONTROL 的调用约定和语法以实现...
- **JSF 请求处理生命周期高度概述**:介绍了请求处理生命周期的基本流程,包括各个阶段的作用和执行顺序。 - **请求处理生命周期的各阶段**:具体解释每个阶段的功能,如恢复视图、应用请求值、处理验证等。 - **...
此函数是关于如何在 Matlab 图形或 GUI 中集成 ... 对于按钮,只需下载 uicontrol: http://www.mathworks.com/matlabcentral/fileexchange/14583-uicomponent-expands-uicontrol-to-all-java-classes 进一步阅读: h
API提供了如`UIComponent`、`FacesContext`、`PhaseListener`等核心组件和上下文对象,它们构成了JSF生命周期的基础。开发者可以使用这些接口来创建自定义组件,实现监听器,以及处理请求和响应。 ### 2. `jsf-ri` ...
- JSF 1.2 具有六步处理生命周期:恢复视图、应用请求值、处理验证、更新模型值、调用应用和呈现响应。通过源码我们可以理解每个阶段的具体操作。 - 验证阶段是关键,源码中可以看到 `Validator` 接口及其实现,...
6. **Event and Phase Model**:JSF的事件处理模型允许组件间通信,而生命周期阶段模型定义了请求处理的顺序,包括恢复视图、应用请求值、处理事件、更新模型值和渲染响应等阶段。 通过分析`jsf-api-src.zip`中的源...
- `javax.faces.context.FacesContext`:在JSF生命周期中,提供对请求、响应、会话、应用程序范围的访问,以及与视图、渲染器、事件处理相关的服务。 - `javax.faces.event.ActionEvent`和`javax.faces.event....
5. **Lifecycle Phases**:JSF具有一个完整的生命周期,包括初始化、应用请求值、处理验证、更新模型值、调用应用事件和渲染响应等阶段,MyFaces Core提供了这些阶段的实现。 6. **渲染器**:MyFaces Core包含了一...
在本文中,我们将深入探讨JSF的核心概念、组件、上下文和生命周期,帮助初学者理解其工作原理。 1. **JSF架构**: JSF的架构围绕组件模型、事件模型和请求处理生命周期展开。核心API包括多个包,如`javax.faces`、...
MyFaces API是JSF实现的核心接口定义,它定义了JSF框架的主要组件、事件处理、生命周期管理等接口。`myfaces-api-2.0.4.jad.jar` 文件包含了这些接口的定义,开发者可以借助这些接口来编写自定义的JSF组件、监听器...