Flex中获取Application对象的方式

Flex应用程序中的根标签是<s:Application>(Spark application容器),或mx:Application(MX Application容器)。application容器是全部Flex组件的根,就像HTML文档中的<html>标签同样,全部的组件和脚本都将包含在application标签内。一般全部的全局对象或函数,也都会分别做为属性或方法添加至application中。一般代码中要经过首先获取application对象才能得到全局对象或方法。下面是两种在代码中获取application对象的方式,假设当前的应用程序名为MyApplication。html

  1. 经过FlexGlobals类:app

    FlexGlobals类包含了通用于同一Application Domain内的全部应用程序的变量的类,其包含 的公共属性只有两个,一个是constructor属性,两一个是topLevelApplication属性,topLevelApplication即指向Application对象,如:函数

    var application:MyApplication = FlexGlobals.topLevelApplication as MyApplication ;
  2. 经过SystemManager的application属性this

    SystemManager用来管理Flex应用程序窗口。每一个Flex应用只包含一个SystemManager。SystemManager类中的application属性用来得到application对象。UIComponent对象做为FlexUI组件的上层类,经过UIComponent的systemManager属性,就能够得到全局仅有的SystemManager对象。这样在继承自UIComponent的全部UI组件内部均可以很方便的获取application对象,假如,有继承自UIComponent类的名为MyComponent的自定义组件,在其内部能够经过如下代码得到application:code

    var sysManager:SystemManager = this.systemManager as SystemManager ;
    
     var application:MyApplication = sysManager.application as MyApplication;

注意,上述两种获取application对象的方式,都须要根据具体应用程序的名称和类型进行合适的类型转换。htm

相关文章
相关标签/搜索