(1)看flex_help文檔之非可視化組件

非可視化組件都放在<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.&lt;String&gt;">
<fx:Vector type="String">
<fx:String>one</fx:String>
<fx:String>two</fx:String>
<fx:String>three</fx:String>
</fx:Vector>
</fx:Vector>

&it,&gt爲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文件或者代理。

相關文章
相關標籤/搜索