パッケージmx.core
インターフェイスpublic interface IChildList
SubinterfacesISystemManager
インプリメンタSystemManager, UIComponent

IChildList インターフェイスは、DisplayObjectContainer の子のサブセットである子リストにアクセスし、操作するためのプロパティとメソッドを定義します。

例として、Container クラスについて検討します。これは、numChildren メソッドや getChildAt() メソッドなどの DisplayObjectContainer API をオーバーライドし、中に置かれたコントロールやその他のコンテナである「コンテンツ」の子のみにアクセスします。ただし、Container は、背景または境界のスキンやスクロールバーなど、フレームワークによって自動的に作成される他の子を持つことがあります。そのため、Container は IChildList 型の rawChildren と呼ばれるプロパティを公開し、コンテンツの子だけでなくすべての子にアクセスできるようにします。

もう 1 つの例として挙げる SystemManager クラスは、子がさまざまなレイヤーに分割されている DisplayObjectContainer です。最下層はアプリケーションのような通常の子、その上がポップアップ、さらにその上がツールヒント、最上層がカーソルになります。SystemManager クラスには、popUpChildrentoolTipChildrencursorChildren という名前のプロパティがあり、それらを使用して各レイヤーにアクセスできます。それぞれのプロパティの型は IChildList です。したがって、systemManager.popUpChildren.numChildren プロパティを使用してポップアップの数をカウントし、systemManager.toolTipChildren.addChild() メソッドを使用して別の DisplayObject をツールヒントレイヤーに挿入することができます。

関連項目

mx.core.Container.rawChildren
mx.managers.SystemManager.rawChildren
mx.managers.SystemManager.popUpChildren
mx.managers.SystemManager.toolTipChildren
mx.managers.SystemManager.cursorChildren


パブリックプロパティ
 プロパティ定義
  numChildren : int
[read-only] この子リストに含まれる子の数です。
IChildList
パブリックメソッド
 メソッド定義
  addChild(child:DisplayObject):DisplayObject
この子リストの末尾に子 DisplayObject を追加します。
IChildList
  addChildAt(child:DisplayObject, index:int):DisplayObject
この子リストの指定されたインデックスに子 DisplayObject を追加します。
IChildList
  contains(child:DisplayObject):Boolean
DisplayObject がこの子リスト内にあるか、またはこの子リストに含まれる子の子孫であるかを指定します。
IChildList
  getChildAt(index:int):DisplayObject
この子リスト内の指定されたインデックスにある子 DisplayObject を取得します。
IChildList
  getChildByName(name:String):DisplayObject
この子リスト内の指定された名前の子 DisplayObject を取得します。
IChildList
  getChildIndex(child:DisplayObject):int
この子リスト内の特定の子のインデックスを取得します。
IChildList
  getObjectsUnderPoint(point:Point):Array
指定されたポイントの下にあり、この子リスト内にある DisplayObject の配列を返します。
IChildList
  removeChild(child:DisplayObject):DisplayObject
この子リストから指定された子 DisplayObject を削除します。
IChildList
  removeChildAt(index:int):DisplayObject
この子リスト内の指定されたインデックスにある子 DisplayObject を削除します。
IChildList
  setChildIndex(child:DisplayObject, newIndex:int):void
この子リスト内の特定の子のインデックスを変更します。
IChildList
プロパティの詳細
numChildrenプロパティ
numChildren:int  [read-only]

この子リストに含まれる子の数です。

実装
    public function get numChildren():int
メソッドの詳細
addChild()メソッド
public function addChild(child:DisplayObject):DisplayObject

この子リストの末尾に子 DisplayObject を追加します。

childList.addChild(child) の呼び出しは、childList.addChild(child, childList.numChildren) の呼び出しと同じです。追加した後の新しい子のインデックスは、(child.numChildren - 1) になります。

パラメータ
child:DisplayObject — 子として追加する DisplayObject です。

戻り値
DisplayObject — 追加された子です。これは、渡された引数と同じです。
addChildAt()メソッド 
public function addChildAt(child:DisplayObject, index:int):DisplayObject

この子リストの指定されたインデックスに子 DisplayObject を追加します。インデックス 0 は DisplayList の先頭を、インデックス numChildren は最後を表します。

子リストの最後以外の場所に子を追加すると、それまでそのインデックス以上の位置にあった子のインデックスは 1 つずつ増やされます。

パラメータ
child:DisplayObject — 子として追加する DisplayObject です。
 
index:int — 子を追加するインデックスです。

戻り値
DisplayObject — 追加された子です。これは、渡された child 引数と同じです。
contains()メソッド 
public function contains(child:DisplayObject):Boolean

DisplayObject がこの子リスト内にあるか、またはこの子リストに含まれる子の子孫であるかを指定します。

パラメータ
child:DisplayObject — テストする DisplayObject です。

戻り値
Boolean — DisplayObject がこの子リストにあるか、またはこの子リスト内の子の子孫である場合は true、それ以外の場合は false になります。
getChildAt()メソッド 
public function getChildAt(index:int):DisplayObject

この子リスト内の指定されたインデックスにある子 DisplayObject を取得します。

パラメータ
index:int — この子リスト内の子のインデックスを指定する 0 ~ (numChildren - 1) の整数です。

戻り値
DisplayObject — 指定されたインデックス位置にある子です。
getChildByName()メソッド 
public function getChildByName(name:String):DisplayObject

この子リスト内の指定された名前の子 DisplayObject を取得します。

パラメータ
name:String — 返される子の名前。

戻り値
DisplayObject — 指定された名前を持つ子。
getChildIndex()メソッド 
public function getChildIndex(child:DisplayObject):int

この子リスト内の特定の子のインデックスを取得します。

子リストの最初の子はインデックス 0、2 番目の子はインデックス 1、最後の子はインデックス (numChildren - 1) になります。

getChildIndex(myChild) が 5 を返した場合、myView.getChildAt(5)myChild を返します。

addChild() メソッドを呼び出すことによって子を追加すると、新しい子のインデックスは、既存の子の中で最大のインデックスに 1 を足した値に等しくなります。

addChildAt() メソッドを使用して、指定したインデックス位置に子を挿入できます。その場合、そのインデックス以上の位置にあった子はインデックスが 1 ずつ増やされ、すべての子が 0 ~ (numChildren - 1) の値でインデックス付けされます。

removeChild() または removeChildAt() メソッドを呼び出して子を削除すると、それよりも大きいインデックスを持つ子はインデックスが 1 ずつ減らされ、すべての子が 0 ~ (numChildren - 1) の値でインデックス付けされます。

setChildIndex() メソッドを呼び出して子のインデックスを変更すると、すべての子が 0 ~ (numChildren - 1) の値でインデックス付けされるように、古いインデックスと新しいインデックスの間にある子のインデックスが調整されます。

パラメータ
child:DisplayObject — インデックスを取得する子です。

戻り値
int — 子のインデックス。0 ~ (numChildren - 1) の整数です。
getObjectsUnderPoint()メソッド 
public function getObjectsUnderPoint(point:Point):Array

指定されたポイントの下にあり、この子リスト内にある DisplayObject の配列を返します。

パラメータ
point:Point — 注目するポイントです。

戻り値
Array — 指定されたポイントの下にあり、このコンテナの子であるオブジェクトの配列です。
removeChild()メソッド 
public function removeChild(child:DisplayObject):DisplayObject

この子リストから指定された子 DisplayObject を削除します。

子リストの最後以外の場所から子を削除すると、それまでそのインデックスを超える位置にあった子のインデックスは 1 つずつ減らされます。

削除された子は、親が null に設定され、他に参照がない場合はガベージコレクションの対象になります。

パラメータ
child:DisplayObject — 削除する DisplayObject です。

戻り値
DisplayObject — 削除された子です。これは、渡された引数と同じです。
removeChildAt()メソッド 
public function removeChildAt(index:int):DisplayObject

この子リスト内の指定されたインデックスにある子 DisplayObject を削除します。

子リストの最後以外の場所から子を削除すると、それまでそのインデックスを超える位置にあった子のインデックスは 1 つずつ減らされます。

削除された子は、親が null に設定され、他に参照がない場合はガベージコレクションの対象になります。

パラメータ
index:int — 削除するDisplayObject の子インデックスです。

戻り値
DisplayObject — 削除された子です。
setChildIndex()メソッド 
public function setChildIndex(child:DisplayObject, newIndex:int):void

この子リスト内の特定の子のインデックスを変更します。子のインデックスの詳細については、getChildIndex() メソッドを参照してください。

パラメータ
child:DisplayObject — インデックスを設定する子です。
 
newIndex:int — 指定された子の新しいインデックスです。0 ~ (numChildren - 1) の整数であることが必要です。