常见Flex组件大全

开发 后端
Flex组件有很多值得学习的地方,本文向大家简单介绍一下常用Flex组件的用法,希望本文的介绍能让你有所收获,欢迎大家一起来学习Flex组件。

本文和大家重点讨论一下常见Flex组件用法,比如说Construction,它是Flex组件构造阶段,Flex组件的构造器不能有必须的参数。在构造函数中可以添加事件监听器,初始化属性。这个阶段只做很少的事情。

Flex组件

Construction

Construction是Flex组件构造阶段,Flex组件的构造器不能有必须的参数。在构造函数中可以添加事件监听器,初始化属性。这个阶段只做很少的事情。

Configuration

Configuration是Flex组件的配置阶段,Flex组件的属性,事件回调函数,样式和效果定义都在这个阶段完成。你不应该把这些任务推迟到Attachment和Initlization阶段之后。

Attachment

Attachment阶段是把该Flex组件追加到显示列表当中,一个Flex组件会被一个Flex容器IContianer以addChild方法添加到显示列表当中。

Initlization

在Initlization初始化阶段,Flex组件会执行一次完整的invalidation/validation周期。这个阶段做的工作流程是:

◆发出preinitialize事件。
◆执行方法createChildren()
◆发出initialize事件。
◆执行一次完整的invalidation/validation周期。
◆发出creationComplete事件。

Updating

用户可能会与Flex组件产生交互,Flex组件的位置大小可能改变,样式可能被重新赋值,也可能获得焦点或者被禁用等等。这些情况的发生都用影响到Flex组件外观的变化。所以Flex组件需要重绘自身来响应这些变化。

Invalidation

如果一个Flex组件的属性改变,它可能就会标记Flex组件为失效状态。

Validation

一个Flex组件被标记失效后,会验证是否需要更新Flex组件,如果需要会调用相关的方法来更新。Flex组件有三个极其重要的方法来更新自己:

◆commitProperties()
◆measure()
◆updateDisplayList(unscaledWidth,unscaledHeight)
除了这三个方法,还有一个重要的方法是styleChanged(styleName),当某个样式改变时,styleChanged被调用,然后执行Invalidation标记Flex组件。如果你有自定义一个Flex组件,有一些法则必要得遵守:

不要在子类中显式调用commitProperties,measure和updateDisplayList这三个方法,你要做的是override,而不是call。如果你添加了新的样式,同样是要继承styleChanged方法,加入自己的逻辑。

Detachment

当不需要这个Flex组件时,把它从显示列表中移出。把Flex组件从一个容器中移出再添加到另一个容器中比创建新的Flex组件有更小的开销。

GarbageCollection

如果Flex组件不再被引用时,它就成为符合垃圾回收的对象了,所以垃圾回收的第一条准则是不再有活动的引用。
更加值得注意的是第二条准则,即不包含使用了强引用的事件监听器,Dictionary和Timer。
所以尽量使用弱引用是多么重要,但是同样,小心你的弱引用在不该回收的时刻被回收了。例如对函数中的临时变量使用弱引用,你可能得不到你想要的异步结果。
 

【编辑推荐】

  1. 开源Flex组件FlexReport使用指南
  2. 学习笔记 如何使用Flex组件进行开发
  3. 深入学习Flex组件生命周期
  4. FlexBuilder3.0与Eclipse3.4的完美结合
  5. 学习笔记 FlexBuilder2.0中如何使用基于Lists的控件 

 

 

责任编辑:佚名 来源: javaeye.com
相关推荐

2010-08-04 14:44:33

Flex图表

2010-08-05 10:16:14

Flex效果

2010-08-13 13:31:48

Flex效果组件

2010-08-05 09:54:56

Flex特效

2010-07-30 09:56:02

Flex控件

2010-08-11 13:17:07

Flex框架

2010-08-04 10:20:30

Flex组件开发

2010-08-03 14:18:02

Flex开发工具

2010-07-28 09:55:35

Flex 快捷键

2010-07-30 13:40:59

Flex开发

2010-08-12 13:34:13

Flex验证组件

2010-08-13 09:21:12

FlexButton组件

2010-08-03 10:16:52

Flex源代码

2010-08-12 11:12:27

Flex误区

2010-08-12 09:25:35

Flex控件

2010-08-13 09:38:09

Flex样式定义

2010-07-28 12:58:24

Flex DateCh

2009-08-20 10:12:59

Flex Alert组

2010-08-13 13:14:09

Flex图表

2010-08-13 09:11:11

LabelFlex
点赞
收藏

51CTO技术栈公众号