如何在 Flex Application 载入初期做事情的顺序

flex(36)
Flex应用程序中的根标签是 (Spark application容器),或 (MX Application容器)。application容器是所有Flex组件的根,就像HTML文档中的&html&标签一样,所有的组件和脚本都将包含在application标签内。通常所有的全局对象或函数,也都会分别作为属性或方法添加至application中。通常代码中要通过首先获取application对象才能获得全局对象或方法。下面是两种在代码中获取application对象的方式,假设当前的应用程序名为MyApplication。
通过FlexGlobals(Spark application容器)类:
FlexGlobals类包含了通用于同一Application Domain内的所有应用程序的变量的类,其包含 的公共属性只有两个,一个是constructor属性,两一个是topLevelApplication属性,topLevelApplication即指向Application对象,如:
var application:MyApplication = FlexGlobals.topLevelApplication as MyA
通过SystemManager(MX Application容器)的application属性
SystemManager用来管理Flex应用程序窗口。每个Flex应用只包含一个SystemManager。SystemManager类中的application属性用来获得application对象。UIComponent对象作为FlexUI组件的上层类,通过UIComponent的systemManager属性,就可以获得全局仅有的SystemManager对象。这样在继承自UIComponent的所有UI组件内部都可以很方便的获取application对象,假如,有继承自UIComponent类的名为MyComponent的自定义组件,在其内部可以通过以下代码获得application:
var sysManager:SystemManager =
this.systemManager as SystemM
var application:MyApplication = sysManager.application as MyA
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:291087次
积分:4707
积分:4707
排名:第3348名
原创:163篇
转载:35篇
评论:187条
文章:20篇
阅读:3724
文章:17篇
阅读:5269
文章:61篇
阅读:163202
(3)(4)(2)(1)(6)(7)(7)(3)(1)(9)(19)(9)(1)(4)(5)(7)(3)(1)(2)(6)(13)(2)(3)(1)(1)(1)(1)(2)(1)(7)(11)(7)(9)(22)(6)(3)(2)(1)(1)(1)(2)(1)(2)(1)(2)如何在 Flex Application 载入初期做事情_百度知道
如何在 Flex Application 载入初期做事情
我有更好的答案
监听creationComplete事件就行了.
其他类似问题
为您推荐:
flex的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁怎样达到执行flex中的Actionscript的方法在切换页面之前_百度知道
怎样达到执行flex中的Actionscript的方法在切换页面之前
然后只要不点击一个特定的按钮。我想要在页面切换的时候给出一个提示,这个方法就会不停的执行MXML文件中有一个方法在页面初始化的时候会执行
提问者采纳
&#47.start();;外部调用关闭方法
public function closeFc();fx.*&/
protected function button1_clickHandler(event.
private function onTimer(event!-- 将非可视元素(例如服务:layout&flex/mx&button1_clickHandler(event)&quot.skins?&gt.TIMER;/ & TODO Auto-generated method stub
Timer实例代码如下.0001秒执行一次
timer=new Timer(1);supportClasses:TimerEvent).com/mxml/2009" target="_blank">执行计时器
timer:void{
OnFc();/&#47.com&#47:&#47:MouseEvent);需要执行的方法
private function
OnFc();s;/600&quot,onTimer):Script&
&s; encoding=&quot:Script&gt.addEventListener(TimerE/s;&#47: &1:/
private function init()://ns用计时器啊;&#47.s; &lt:fx=&quot:mx=&&gt.com/mxml/2009&&#47?xml version=&fx:T &lt、值对象)放在此处 --&gt:&#47. &lt.adobe:Button click=&init()&flex&#47.stop();:Declarations&& &
creationComplete=& minWidth=&
&lt.supportClasses://ns.0&/&
xmlns:void
// minHeight=&
]]&gt![CDATA[&#47:s=&单击按钮时无线执行
&utf-8&s:AttachmentLayout/ &表示0.
xmlns:Declarations&<a href=";&lt:supportClasses=&quot:Application xmlns:void{/&gt:void{
&#47:Application&ns.spark&;955&quot
谢谢您的回答,我的页面就是有这么个定时器,我想要的是页面切换的时候,自动调用定时器的停止函数,自动停止。就像您写的怎样在页面切换的时候,自动执行closeFc函数
什么样的页面切换啊
这个方法是公共的 只要你能访问到该方法就行了啊 你另外的页面是否有该页面的实例 如果有比如是aa对象 aa.closeFc()即可别的页面是怎么触发出来的。 总归有个入口 不可能平白无故的页面就切换了。
打个比方就像百度的首页那样上面一排新闻,网页,贴吧,知道.......我的定时器在”新闻“这个页面里,不管我是点击网页,还是贴吧,跳转到其他网页时,这个原来新闻页面里的定时器自动终止。要的就是这种效果!求解?
感觉你好像是新手吧,完全不懂逻辑么,多看看教程兄弟 哈哈 flex中无论你是button
或者 TabNavigator 都会有对应的一系列事件。还有一些特殊的 需要自定义事件的。当然自定义事件也是通过一些动作或者方法来实现的。具体的你在多看看。 就比如你说的 这个页面的排版 有新闻
贴吧 把他们当成三个Label
那么他们都拥有单击事件吧你可以让他们指向同一个方法 无参数的pivate function labelClick(){
closeFc();}
确实刚学不太久,而且我说的不太清楚。但是您说的把每一个都添加一个单击事件,这样解决是不是有点不太对啊!上面有好几个“Label”,难道每个都要在写上一个单击事件函数?我想要的就是
当前页面被替换的时候就执行某个一个函数就行了。像addEventListener,但是不知道怎么用!
flex机制就是这样的。说了哥们你好好看下教程&。从最简单的做起。如上图&&你其他的不注册单击事件 当你单击符号的时候怎么能够确定是点的符号&
提问者评价
其他类似问题
然后在事件响应里面处理这个问题在页面里 this, 处理函数).addEventListener(FlexEvent.REMOVE监听页面的关闭事件
问题是怎样监听这个关闭事件啊,使用AS调用JS的方法是一个途径,但不太会做。不知道AS自带的有没有类似的监听函数。希望给点详细的帮助,谢谢!
这函数就是as的函数啊..在页面加载以后调用this.addEventListener(FlexEvent.REMOVE, 处理函数);然后在处理函数里面写上关闭逻辑就可以了
谢谢您的热心回答,但是我还是做不出来啊!
我的程序是页面一个定时器(无限次),可以手动终止。想要的是当切换页面的时候,定时器自动终止。
按照您的提示我在页面初始化的地方和加载完的地方,甚至特意写了一个按钮点击相应事件加分别试过加上“this.addEventListener(FlexEvent.REMOVE,stop);”,可惜没有一个地方会执行stop函数的。
为您推荐:
actionscript的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Flex开发小结(1)如何使用AdvancedDataGrid - 推酷
Flex开发小结(1)如何使用AdvancedDataGrid
1、AdvancedDataGrid扩展了普通DataGrid的功能,AdvancedDataGrid控件提供了另外一些特性,并在数据显示、数据聚合和数据格式化方面有着强大的控制力。
这里我主要说一下AdvancedDataGrid中数据的
分层、分组显示以及导航树
配置AdvancedDataGrid显示分
数据和导航树,需要把AdvancedDataGrid数据源dataProvider属性设置为HierarchicalData类或者GroupingCollection类的实例
数据分层显示:使用
HierarchicalDatal类。
数据分组显示:使用
GroupingCollection类,
作为配置一个GroupingCollection类的实例的一部分,您需要指定一个或更多的字段来将平面数据组织为同一层次。
您可以从任意数据创建一个HierarchicalData类或GroupingCollection类的实例来作为数据源。但是,AdvancedDataGrid控件按如下修改它为内部的数据表示:
一个数组实例在AdvancedDataGrid控件内部使用一个ArrayCollection类实例表示。
一个ArrayCollection在AdvancedDataGrid控件内部使用一个ArrayCollection类实例表示。
一个包含正确XML文本的字符串在AdvancedDataGrid控件内部使用一个XMLListCollection类实例表示。
一个XMLNode实例在AdvancedDataGrid控件内部使用一个XMLListCollection类实例表示。
一个XMLList实例在AdvancedDataGrid控件内部使用一个XMLListCollection类实例表示。
任何实现ICollectionView接口的对象在AdvancedDataGrid控件内部使用一个ICollectionView实例表示。
一个其他任意类型的对象被作为唯一的条目包裹在一个的数组示例中。
例如,如果您使用一个数组来创建HierarchicalData类的一个实例,并将该HierarchicalData实例传递给AdvancedDataGrid.dataProvider属性,然后又从AdvancedDataGrid.dataProvider属性将其读回;您读回的数据将是一个ArrayCollection实例。
3、导航树:
AdvancedDataGrid
中可以将数据显示为树形结构,也因为该控件的第一列使用一个可缩放数来选择行的显示而被称作
tree datagrid
,唯一要记住的规则是该树总是显示在有列的最左边。
尽管在AdvancedDataGrid控件您可以所任意组织列而不管数据是如何组织的。并且您可以通过拖动列来对AdvancedDataGrid控件上的列进行重新定位,但是导航树总是出现在列的最左边。
数据表格的第一列通常与该控件的数据源的某一字段关联。该数据字段用于为树节点标签命名。
4、显示分层数据:
分层数据是数据被分层组织的结构化数据。要在AdvancedDataGrid控件中显示分层数据,您需要将控件的数据源设置为Hierarchica
。数据源中的
lData类的实
例数据结构定义了AdvancedDataGrid控件对数据的如何显示。
在下面的示例中展示了AdvancedDataGrid控件的分层数据显示。
该数据的顶层数据包含一个Region字段和多个第二层子对象,每个第二层子对象也包含一个Region字段和多个其他的子对象。
该示例中的AdvancedDataGrid控件定义了四列来显示数据:Region、Territory Rep、 Actual和Estimate。
(1)使用ArrayCollection定义分层数据:
使用ArrayCollection是创建分层数据的常用方式。
下面为本示例代码:
&?xml version=&1.0& encoding=&utf-8&?&
&s:Application xmlns:fx=&/mxml/2009&
xmlns:s=&library:///flex/spark&
xmlns:mx=&library:///flex/mx& minWidth=&955& minHeight=&600&&
&fx:Declarations&
&!-- 将非可视元素(例如服务、值对象)放在此处 --&
&/fx:Declarations&
&fx:Script&
import mx.collections.ArrayC
[Bindable]
private var dpHierarchy:ArrayCollection = new ArrayCollection([
{Region:&Southwest&, children: [
{Region:&Arizona&, children: [
{Territory_Rep:&Barbara Jennings&, Actual:38865, Estimate:40000},
{Territory_Rep:&Dana Binn&, Actual:29885, Estimate:30000}]},
{Region:&Central California&, children: [
{Territory_Rep:&Joe Smith&, Actual:29134, Estimate:30000}]},
{Region:&Nevada&, children: [
{Territory_Rep:&Bethany Pittman&, Actual:52888, Estimate:45000}]},
{Region:&Northern California&, children: [
{Territory_Rep:&Lauren Ipsum&, Actual:38805, Estimate:40000},
{Territory_Rep:&T.R. Smith&, Actual:55498, Estimate:40000}]},
{Region:&Southern California&, children: [
{Territory_Rep:&Alice Treu&, Actual:44985, Estimate:45000},
{Territory_Rep:&Jane Grove&, Actual:44913, Estimate:45000}]}
&/fx:Script&
&mx:AdvancedDataGrid width=&50%& height=&50%&&
&mx:dataProvider&
&mx:HierarchicalData source=&{dpHierarchy}&/&
&/mx:dataProvider&
&mx:columns&
&mx:AdvancedDataGridColumn dataField=&Region&/&
&mx:AdvancedDataGridColumn dataField=&Territory_Rep&
headerText=&Territory Rep&/&
&mx:AdvancedDataGridColumn dataField=&Actual&/&
&mx:AdvancedDataGridColumn dataField=&Estimate&/&
&/mx:columns&
&/mx:AdvancedDataGrid&
&/s:Application&
以下图片为上述示例创建的AdvancedDataGrid控件。该控件使用文件夹图标表示数据分支节点,使用文件图标代表叶子节点。控件的第一列和数据源的Region相关联。所以标签显示的是Region字段的值。
该示例在ArrayCollection定义中使用
关键字来定义数据的层次。
children关键字是HierarchicalData类用来定义层次的缺省关键字。
您也可以使用使用其他的关键字来定义层次。以下示例,其使用的是categories关键字来定义数据的层次:只需要
HierarchicalData
childrenField
属性为categories即可。
&?xml version=&1.0& encoding=&utf-8&?&
&s:Application xmlns:fx=&/mxml/2009&
xmlns:s=&library:///flex/spark&
xmlns:mx=&library:///flex/mx& minWidth=&955& minHeight=&600&&
&fx:Declarations&
&!-- 将非可视元素(例如服务、值对象)放在此处 --&
&/fx:Declarations&
&fx:Script&
import mx.collections.ArrayC
[Bindable]
private var dpHierarchy:ArrayCollection = new ArrayCollection([
{Region:&Southwest&, categories: [
{Region:&Arizona&, categories: [
{Territory_Rep:&Barbara Jennings&, Actual:38865, Estimate:40000},
{Territory_Rep:&Dana Binn&, Actual:29885, Estimate:30000}]},
{Region:&Central California&, categories: [
{Territory_Rep:&Joe Smith&, Actual:29134, Estimate:30000}]},
{Region:&Nevada&, categories: [
{Territory_Rep:&Bethany Pittman&, Actual:52888, Estimate:45000}]},
{Region:&Northern California&, categories: [
{Territory_Rep:&Lauren Ipsum&, Actual:38805, Estimate:40000},
{Territory_Rep:&T.R. Smith&, Actual:55498, Estimate:40000}]},
{Region:&Southern California&, categories: [
{Territory_Rep:&Alice Treu&, Actual:44985, Estimate:45000},
{Territory_Rep:&Jane Grove&, Actual:44913, Estimate:45000}]}
&/fx:Script&
&mx:AdvancedDataGrid width=&50%& height=&50%&&
&mx:dataProvider&
&mx:HierarchicalData source=&{dpHierarchy}&
childrenField=&categories&/&
&/mx:dataProvider&
&mx:columns&
&mx:AdvancedDataGridColumn dataField=&Region&/&
&mx:AdvancedDataGridColumn dataField=&Territory_Rep&
headerText=&Territory Rep&/&
&mx:AdvancedDataGridColumn dataField=&Actual&/&
&mx:AdvancedDataGridColumn dataField=&Estimate&/&
&/mx:columns&
&/mx:AdvancedDataGrid&
&/s:Application&
结果如下图所示:
(2)使用XML定义分层数据
当然也可以使用XML作为AdvancedDataGrid的数据源:同样要通过实例化HierarchicalData类来进行。
如下示例:
&?xml version=&1.0&?&
&!-- dpcontrols/adg/SimpleHierarchicalADGXML.mxml --&
&mx:Application xmlns:mx=&/2006/mxml&&
&mx:Script&
import mx.collections.HierarchicalD
import mx.collections.XMLListC
&/mx:Script&
&mx:XMLList id=&dpHierarchyXML& &
&Region Region=&Southwest&&
&Region Region=&Arizona&&
&Territory_Rep Territory_Rep=&Barbara Jennings&
Actual=&38865& Estimate=&40000&/&
&Territory_Rep Territory_Rep=&Dana Binn&
Actual=&29885& Estimate=&30000&/&
&Region Region=&Central California&&
&Territory_Rep Territory_Rep=&Joe Smith&
Actual=&29134& Estimate=&30000&/&
&Region Region=&Nevada&&
&Territory_Rep Territory_Rep=&Bethany Pittman&
Actual=&52888& Estimate=&45000&/&
&Region Region=&Northern California&&
&Territory_Rep Territory_Rep=&Lauren Ipsum&
Actual=&38805& Estimate=&40000&/&
&Territory_Rep Territory_Rep=&T.R. Smith&
Actual=&55498& Estimate=&40000&/&
&Region Region=&Southern California&&
&Territory_Rep Territory_Rep=&Alice Treu&
Actual=&44985& Estimate=&45000&/&
&Territory_Rep Territory_Rep=&Jane Grove&
Actual=&44913& Estimate=&45000&/&
&/mx:XMLList&
&mx:AdvancedDataGrid width=&50%& height=&50%&
dataProvider=&{new HierarchicalData(dpHierarchyXML)}&&
&mx:columns&
&mx:AdvancedDataGridColumn dataField=&@Region&
headerText=&Region&/&
&mx:AdvancedDataGridColumn dataField=&@Territory_Rep&
headerText=&Territory Rep&/&
&mx:AdvancedDataGridColumn dataField=&@Actual&
headerText=&Actual&/&
&mx:AdvancedDataGridColumn dataField=&@Estimate&
headerText=&Estimate&/&
&/mx:columns&
&/mx:AdvancedDataGrid&
&/mx:Application&
结果如下图:
5、显示分组数据:
&要想显示分组数据,必须传递给AdvancedDataGrid控件的dataprovider属性以
GroupingCollection类的实例
&mx:dataProvider&
&mx:GroupingCollection id=&gc& source=&{dpFlat}&&
&mx:grouping&
&mx:Grouping&
&mx:GroupingField name=&Region&/&
&mx:GroupingField name=&Territory&/&
&/mx:Grouping&
&/mx:grouping&
&/mx:GroupingCollection&
&/mx:dataProvider&
GroupingCollection的source属性必须为前面定义的数据源,同时使用GroupingField指定分组字段,可以指定一个或者多个分组字段。
注意:必须在AdvancedDataGrid控件的initialize方法中调用GroupingCollection类的refresh方法。
如下示例:
&?xml version=&1.0&?&
&!-- dpcontrols/adg/SimpleHierarchicalADGXML.mxml --&
&mx:Application xmlns:mx=&/2006/mxml&&
&mx:Script&
import mx.collections.ArrayC
import mx.collections.HierarchicalD
import mx.collections.XMLListC
[Bindable]
private var dpFlat:ArrayCollection = new ArrayCollection([
{Region:&Southwest&, Territory:&Arizona&,
Territory_Rep:&Barbara Jennings&, Actual:38865, Estimate:40000},
{Region:&Southwest&, Territory:&Arizona&,
Territory_Rep:&Dana Binn&, Actual:29885, Estimate:30000},
{Region:&Southwest&, Territory:&Central California&,
Territory_Rep:&Joe Smith&, Actual:29134, Estimate:30000},
{Region:&Southwest&, Territory:&Nevada&,
Territory_Rep:&Bethany Pittman&, Actual:52888, Estimate:45000},
{Region:&Southwest&, Territory:&Northern California&,
Territory_Rep:&Lauren Ipsum&, Actual:38805, Estimate:40000},
{Region:&Southwest&, Territory:&Northern California&,
Territory_Rep:&T.R. Smith&, Actual:55498, Estimate:40000},
{Region:&Southwest&, Territory:&Southern California&,
Territory_Rep:&Alice Treu&, Actual:44985, Estimate:45000},
{Region:&Southwest&, Territory:&Southern California&,
Territory_Rep:&Jane Grove&, Actual:44913, Estimate:45000}
&/mx:Script&
&mx:AdvancedDataGrid id=&myADG&
width=&100%& height=&100%&
initialize=&gc.refresh();&&
&mx:dataProvider&
&mx:GroupingCollection id=&gc& source=&{dpFlat}&&
&mx:grouping&
&mx:Grouping&
&mx:GroupingField name=&Region&/&
&mx:GroupingField name=&Territory&/&
&/mx:Grouping&
&/mx:grouping&
&/mx:GroupingCollection&
&/mx:dataProvider&
&mx:columns&
&mx:AdvancedDataGridColumn dataField=&Region&/&
&mx:AdvancedDataGridColumn dataField=&Territory&/&
&mx:AdvancedDataGridColumn dataField=&Territory_Rep&
headerText=&Territory Rep&/&
&mx:AdvancedDataGridColumn dataField=&Actual&/&
&mx:AdvancedDataGridColumn dataField=&Estimate&/&
&/mx:columns&
&/mx:AdvancedDataGrid&
&/mx:Application&
示例结果如下图:
6、设置导航树图标和标签
导航树可以让您控制分支和叶子节点的图标和标签。您可显示一个有标签无图标的树、一个只有分支图标的树、一个所有都没有标签的树或者一个不与任何数据字段相关的自由列数。
以下表描述了AdvancedDataGrid控件用于设置树图标的样式属性:
样式属性描述:
defaultLeafIcon指定叶子节点图标
disclosureClosedIcon指定显示在封闭的分支节点前面的图标,缺省是一个黑三角形。
disclosureOpenIcon指定显示在展开的分支节点前面的图标,缺省是一个黑三角形。
folderClosedIcon为分支节点指定一个文件夹关闭图标
folderOpenIcon为分支节点指定一个文件夹打开图标
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
排版有问题
没有分页内容
视频无法显示
图片无法显示

我要回帖

更多关于 做事情 的文章

 

随机推荐