Flex带CheckBox的Tree(修改ItemRenderer)

此文代码参考了:http://summerofthatyear-gmail-com.iteye.com/blog/326302

在此表示感谢!

前文提到了,实现带CheckBox的Tree有两种方法:

其一是修改ItemRenderer,其二是修改Tree和ItemRenderer。

此文实现第一种方法:

1、我在自己的Tree包下,新建一个ActionScript类,名为CheckTreeRenderer

2、CheckTreeRenderer继承TreeItemRenderer

3、构造函数可以使用 super() 语句显式地调用其直接超类的构造函数。(个人理解为:可以直接用new过的东西)

4、重写createChildren()方法,创建CheckBox以及其事件。

   (写到此处发现createChildren没有触发事件,研究了一下原来这跟组件的生命周期有关,在此简单提一下:

    组件的出生阶段包括三个步骤:构造,配置,装配和初始化。(分别对应了 4 个 protected 方法,constructor、createChildren,commitProperties,measure和updatedisplayList)

5、重写commitProperties方法,给checkbox赋值

6、重写measure方法,重置ItemRenderer宽度

7、重写updateDisplayList方法,重新布局

8、设置Tree的ItemRenderer

9、效果

posted @ 2014-02-20 11:41  苍龙de链  阅读(611)  评论(0编辑  收藏  举报