treedemo範例檔案下載
首先先了解一下asdemo.events這個package裡面的as。
- IEventDispatcher.as 所有附有事件廣播機制的類別都必須實作這個介面。
- EventSource.as 實作了IEventDispatcher介面的類別。
asdemo.ui.DispatcherMC繼承了MovieClip並實作IEventDispatcher類別,讓所有繼承該類別都附有事件廣播機制功能。
接下來進行到重點階段,我們先了解asdemo.ui.tree package內兩個介面的繼承關係。一個為INode,一個為ITree。ITree繼承了INode。這代表Itree也含有節點的特性。
- asdemo.ui.tree.INode
- asdemo.ui.tree.ITree
- INode的繼承關係
TextNode實作了Inode介面,並且會在onRelease發出ButtonEvent.RELEASE事件。
- ITree的繼承關係
首先AbstractTree實作了ITree介面,大部分基本方法已經在這個類別完成。
-setNodePosition方法:在節點被加入時要調整節點位置,當節點被刪除時要重新調整所有節點的位置。
-adjustPosition方法:在節點被刪除時呼叫重新調整所有節點的位置。
-childTreeCloseHandler方法:在同一節點被click時呼叫將其他節點樹關閉。
DemoTree繼承了AbstractTree,並實現兩各尚未實作的抽象方法addNode與addTree。每個被加入的節點會被加入陣列裡,而在addNode裡父節點對子節點註冊ButtonEvent.RELEASE事件,addTree方法裡父節點對子節點樹註冊TreeEvent.TREE_OPEN事件。目的在於當某個節點被click後,通知父節點樹必須將其他同一階層的節點樹關閉。
- asdemo.ui.tree.AbstractTree
2007年1月29日 星期一
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言