Flex 启动基本流程
First, enough bytes for frame 1 are streamed down to the Flash
Player.
The Flash Player executes those bytes by creating a SystemManager
instance.
SystemManager instruct the Flash Player to stop at the end of frame
1.
SystemManager then goes on to create the Preloader which creates the
DownloadProgressBar control and pops that up on the client screen.
The Preloader then starts tracking the rest of the bytes streaming
in from the Flex SWF (or from external SWFs).
Once all the bytes for
the Flex framework and application code are in, the System Manager goes
on to frame 2 and instantiates the Application instance.
All RSLs and their associated classes are now loaded [into the
ApplicationDomain]; note that the load order is in the order defined
during app compile time.[3]
All class definitions used by the application (views, logic, etc)
must be loaded prior to Frame 2. It is here, in Frame1, that your
preloader code can even install patches to the Flex framework BEFORE the
framework classes themselves are loaded.
This technique is called "monkey-patching
"
and will be used later
when we are discussing the decryption
process.
Once the Application instance has been created, the SystemManager
sets Application.systemManager to itself. This is how you, the
application developer, can access the SystemManager at a later time.
The Application dispatches the preinitialize event at the beginning
of the initialization process.
Application goes on to create its children. The method
createChildren() is called on the application. At this point each of the
application’s components is being constructed, and each component’s
createChildren() will be also called. For detail, look at component
lifecycle section.
The Application dispatches the initialize event, which indicates
that all application’s components have been initialized. However, at
this state, all the components are not yet
相关文档:
这样的一种情况:
使用Loader去load一个swf:
var fileURL:String = “assets/test.swf”
var swfLoader:Loader = new Loader();
swfLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, swfLoaded);
swfLoader.load(new URLRequest(fileURL));
function swfLoaded(evt:Event):void{
&n ......
Flex组件内置了处理拖拽事件的接口,有些控件已经实现了拖拽功能,比如List、DataGrid、Menu、
HorizontalList、 PrintDataGrid、TileList、Tree,在设置相关的拖拽属性后,它们都可以在相同类型的组
件之间利用鼠标来实现数据的转移。
allowDragSelection ......
CategoryAxis有一个叫做labelFunction的属性,这个属性的定义:指定一个函数,用于定义为CategoryAxis的dataProvider中的各个项目生成的标签。
所以修改的原理:可以利用labelFunction得到每个Label,然后再对其进行修改。
片段代码:
<mx:horizontalAxis>
<mx:CategoryAxis id="ca"
&nbs ......
<?xml version="1.0"?>
<!-- charts/PredefinedAxisStyles.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<!--[CDATA[
//导入相关包
import mx.collections.ArrayCollection;
import mx.charts.*;
import mx.charts.ser ......
Flex中Image加载图片出错时显示默认图片的方法主要有以下几种:
方法一:利用 brokenImageSkin 风格显示一个默认的图,只需设置CSS就行了,如下:
<mx:Style>
Image {
brokenImageSkin: Embed("assets/404.jpg");
}
</m ......