加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

舞台(Stage)、SystemManager、Application的层次关系

发布时间:2020-12-15 05:18:13 所属栏目:百科 来源:网络整理
导读:对于Flex的显示列表,从最顶级的舞台开始,到Application的层级关系是: Stage? -? SystemManager? -? Application Flex程序的生命就是上面这样的顺序展开的。 ? 上面记述的关系,可以用下面的代码来简单验证: ? ?xml version="1.0" encoding="utf-8"?s:App

对于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实例本身
[object _TestParent_mx_managers_SystemManager]????????????????????????? //Application的父亲是SystemManager实例
[object Stage]?????????????????????????????????????????????????????????????????????????????????????????????????? //SystemManager的父亲是Stage实例
null???????????????????????????????????????????????????????????????????????????????????????????????????????????????????? //Stage没有父亲,也就是说Stage就是最顶级的DisplayObject了

?

?

>引申知识点:?

(1). Stage是由FlashPlayer在执行swf文件的时候创建的实例。

(2). SystemManager类?隐性地被Flex框架所定义(在Appliction父类中被[Frame]元数据标签所定义)。

?????? FlexBuilder编译Application程序时候,自动把SystemManager类的AS代码编译到swf文件当中,充当程序入口类(也就是主类,FlashPlayer会找到入口类,并自动执行其构造函数)。Flex程序的生命实际是从SystemManager实例的构造函数开始的。

(3). Application就是上面代码中的<s:Appliction>标签所代表的代码,也就是我们编写的程序。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读