非可视化组件都放在<fx:declarations/> css
(1)三种RPC组件分别是webserivce,httpSerivce,RemoteObject html
(2)validator java
(3)formatter web
(4)css 数组
(5)skins app
(6)effect:指短期内改变组件的动做,好比resize,fading,moving a component dom
设置组件的属性有两种方式: jvm
(1)直接设置组件的attributes jsp
(2)设置组件的子节点 函数
在给组件设置属性时碰到Array类型的属性:能够加或不加<fx:Array>标签,但只有一个例外,就是指数组包含一个元素。(i)当选择加时表示包含一个元素的数组;(ii)当不加时表示该属性的值就为该元素值.
object=[element]
object=element
Vector:一种类型相同的数组,初始化时要标明它的元素的数据类型
(1)元素类型为String:
<fx:Vector type="String"> <fx:String>one</fx:String> <fx:String>two</fx:String> <fx:String>three</fx:String> </fx:Vector>(2)元素的类型为Vector<String>
<fx:Vector type="Vector.<String>"> <fx:Vector type="String"> <fx:String>one</fx:String> <fx:String>two</fx:String> <fx:String>three</fx:String> </fx:Vector> </fx:Vector>
&it,>为HTML的转移字符分别表明为'<','>'。
在组件里有XML类型的属性时:在初始化该属性时应该给出namespace。
<mynamespace:MyComponent> <mynamespace:value xmlns:a="http://www.example.com/myschema"> <fx:XML> <a:purchaseorder> <a:billingaddress> ... </a:billingaddress> ... </a:purchaseorder> </fx:XML> </mynamespace:value> </mynamespace:MyComponent>
使用As
当要生成编译之后的源码是能够加 keep-generated-actionscript=true选项
通常是使用id来引用组件的实例,当你只知道组件id的String名而要引用该组件是可使用this[idName]来引用该组件。
FlexGlobals.topLevelApplication:根应用程序。
parentDocument:
parentApplication:
引用外部的代码可使用两种方式:include和import
include:表示引用的代码因此当前MXML组件的一部分;
import:要new 一个实例来使用其中的代码。
动态查看一个实例的属性和方法
(1)使用for..in loops:引用变量只是Object类型,使用该语法能获取动态添加的属性和值
public function dumpObj():void { for (var p:String in obj) { ta1.text += p + ":" + obj[p] + "\n"; } }也可使用mx.utils.ObjectUtil.toString()来完成一样的效果。
(2)Using the introspection API
describeType(object):返回该实例对应类的共有方法和属性(非动态添加的),返回类型为XML
若要获取类的静态方法和属性 则使用describeType(getDefinitionByName("MyClass"))。
可视化组件的层次结构依次为stage,System Manage,Application和其余组件
event flow 包括三种时间段:the capturing phase,the targeting phase,the bubbling phase
the capturing phase:从根节点到目标节点的父节点,flash player查找该路径下的节点所注册的事件是否符合
若符合,则调用相应的回调函数。
the targeting phase:目标节点,调用注册改事件的回调函数
the bubbing phase:从目标节点到根节点,flash player查找该路径下的节点所注册的事件是否符合
若符合,则调用相应的回调函数。
事件的继承层次:
通常组件都是DisplayObject,DisplayObject继承Eventdispatch,而Eventdispatch则实现了IEventdispatch借口。
addEventListenter(event_type:String,event_listener:Function,use_capture:Boolean,priority:int,weakRef:Boolean)
weakRef:指的是监听器是不是弱引用
移除监听器:在语句块里添加的监听器能够移除,在MXML里添加的监听器不能够删除。
手动添加的监听器函数只能有一个参数为Event类型,而MXML种定义的监听器能够声明任意多的参数。
hasEventListner()和willTrigger()去检查某事件是否有注册监听器
objectInstance.dispatchEvent(event:Event):Boolean
Event(event_type:String, bubbles:Boolean, cancelable:Boolean)
canceable:表示事件是否须要通过事件流
Capturing:从父节点到子节点
bubbling:从子节点从父节点
通常状况下可视化组件都在bubbling阶段,
event flow在可视化组件里是从最里层的子节点到最外面的节点
event.target和currentTarget属性
event的中止事件传播方法:
stopPropagation():容许当前节点的其余事件监听器执行。
stopImmediatePropagation():不容许当前节点的其余事件监听器执行。
对父节点注册事件而不是对每一个子节点注册,会极大地提升程序的维护性和性能。
若是想要你的监听器按照特定的顺序:
(1)在监听器中调用其余监听器
(2)在监听器中dispatch event
keyEvent中的keycode和charcode:
keycode:指的是按下的键的编码的数字值
charcode:指的是按下的键的实际值的编码的数字值
好比按下键1可能为表明数字1或者字'!' ,keycode就表明键1编码的数字值,charcode表明数字1或者'!'的编码的数字值。
MouseEvent有关于KeyEvent的属性:altKey,ctrlKey,shiftKey
SDK的相关配置
在sdk的目录下能够更改jvm及相关编译器mxmlc,compc的配置
sdk_install_dir/ bin/jvm.config bin/mxmlc bin/mxmlc.exe bin/compc bin/compc.exe bin/fdb bin/fdb.exe frameworks/flex-config.xml
wrapper:将swf文件嵌入到html,jsp等网页类型。
若flex 应用程序须要文本访问其余域名(不是运行该应用程序的域名)的服务须要使用crossdomain.xml文件或者代理。