舞台(Stage)、SystemManager、Application的层次关系
对于Flex的显示列表,从最顶级的舞台开始,到Application的层级关系是: Stage? ->? SystemManager? ->? Application Flex程序的生命就是上面这样的顺序展开的。 ? 上面记述的关系,可以用下面的代码来简单验证: ? <?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
name="I'm Application"
creationComplete="init()" >
<fx:Script>
<![CDATA[
public function init():void{
//this是Application
txt.text = this.name +"rn";
//application的父亲是SystemManager
txt.text += this.parent +"rn";
//SystemManager的父亲是Stage
txt.text += this.parent.parent +"rn";
//Stage是最顶级,没有父亲
txt.text += this.parent.parent.parent +"rn";
}
]]>
</fx:Script>
<s:TextArea id="txt" x="53" y="59" width="526" height="254"/>
</s:Application>
I'm Application???????????????????????????????????????????????????????????????????????????????????????????????? //这是Application实例本身 ? ? >引申知识点:? (1). Stage是由FlashPlayer在执行swf文件的时候创建的实例。 (2). SystemManager类?隐性地被Flex框架所定义(在Appliction父类中被[Frame]元数据标签所定义)。 ?????? FlexBuilder编译Application程序时候,自动把SystemManager类的AS代码编译到swf文件当中,充当程序入口类(也就是主类,FlashPlayer会找到入口类,并自动执行其构造函数)。Flex程序的生命实际是从SystemManager实例的构造函数开始的。 (3). Application就是上面代码中的<s:Appliction>标签所代表的代码,也就是我们编写的程序。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |