パッケージmx.managers
クラスpublic class FocusManager
継承FocusManager Inheritance Object
実装 IFocusManager

FocusManager クラスは、マウスやキーボード(Tab キー)の操作に応じてコンポーネント上のフォーカスを管理します。 1 つのアプリケーションには複数の FocusManager インスタンスが存在する場合があります。 FocusManager のそれぞれのインスタンスが、「タブループ」を構成するコンポーネントのセットを管理します。 Tab キーを何度も押すと、フォーカスがコンポーネントのセットを一巡し、最終的には最初にフォーカスが置かれていたコンポーネントに戻ります。 これが「タブループ」と呼ばれるもので、FocusManager のインスタンスがこのループを管理します。 ポップアップウィンドウの「タブループ」が固有のコンポーネントのセットで構成されている場合、このポップアップウィンドウは固有の FocusManager のインスタンスを持ちます。 メインアプリケーションは常に FocusManager インスタンスを持っています。

FocusManager は、「コンポーネントレベル」からフォーカスを管理します。 Flex では、コンポーネントの UITextField が、テキストのキーボード入力を可能にする唯一の方法となります。 Flash Player または AIR から見て、フォーカスはこの UITextField にあります。 一方 FocusManager から見ると、フォーカスは UITextField の親であるコンポーネントにあります。 つまり、コンポーネントレベルと Flash Player レベルのフォーカスには違いがあります。 アプリケーション開発者は一般的にコンポーネントレベル以外のフォーカスを扱う必要はありませんが、コンポーネント開発者は Flash Player レベルのフォーカスを理解していなければなりません。

FocusManager で管理できるすべてのコンポーネントは、mx.managers.IFocusManagerComponent を実装する必要がありますが、Flash Player レベルのフォーカスで管理されるオブジェクトではその必要はありません。

FocusManager では defaultButton の概念も管理します。これは、Enter キーが押されたときに、その時点でのフォーカスの位置に応じて click イベントを送出するフォーム上の Button オブジェクトです。



パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
  defaultButton : IButton
元のデフォルト Button コントロールへの参照です。
FocusManager
  defaultButtonEnabled : Boolean
FocusManager がデフォルトボタンをアクティブ化するときに Enter キーが押されていることをチェックするかどうかを示すフラグです。
FocusManager
  focusPane : Sprite
コンテナ間でフォーカスが移動されるときにコンテナ間で移動する単一の Sprite オブジェクトです。
FocusManager
  nextTabIndex : int
[読み取り専用] このタブループで次に使用する一意のタブインデックス。
FocusManager
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
  showFocusIndicator : Boolean
コンポーネントがフォーカスを持っていることを表すインジケータを表示するかどうかを示すフラグです。
FocusManager
パブリックメソッド
 メソッド定義元
  
FocusManager(container:IFocusManagerContainer, popup:Boolean = false)
コンストラクタです。
FocusManager
  
複数の IFocusManagerContainer が同時に可視である場合、SystemManager は FocusManager をアクティブまたは非アクティブにします。
FocusManager
  
これは、作成されたフォーカス可能コンテンツの新しいブリッジごとに、最上位フォーカスマネージャおよび親フォーカスマネージャに対して呼び出されます。
FocusManager
  
複数の IFocusManagerContainer が同時に可視である場合、SystemManager は FocusManager をアクティブまたは非アクティブにします。
FocusManager
  
指定されたオブジェクトが含まれている IFocusManagerComponent を返します(存在する場合)。
FocusManager
  
現在フォーカスを持っている IFocusManagerComponent コンポーネントを取得します。
FocusManager
  
ユーザーが Tab キーを押して別のコンポーネントにナビゲートするとフォーカスを取得する IFocusManagerComponent を返します。
FocusManager
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
  
showFocusIndicator を false に設定し、フォーカスがあるオブジェクト(存在する場合)から可視のフォーカスインジケータを削除します。
FocusManager
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
moveFocus(direction:String, fromDisplayObject:DisplayObject = null):void
現在のコントロールからタブ順序での前または次のコントロールにフォーカスを移動します。
FocusManager
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
FocusManager
  
フォーカスを IFocusManagerComponent コンポーネントに設定します。
FocusManager
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
  
showFocusIndicator を true に設定し、フォーカスがあるオブジェクト(存在する場合)に可視のフォーカスインジケータを描画します。
FocusManager
  
FocusManager オブジェクトをホストするコンポーネントのストリング表現を返します。このストリングの末尾には「.focusManager」というストリングが追加されます。
FocusManager
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
プロパティの詳細
defaultButtonプロパティ
defaultButton:IButton

元のデフォルト Button コントロールへの参照です。 任意の Button コントロールにフォーカスがあるときに Enter キーを押すと、マウスでクリックした場合と同様に、Button コントロールの click イベントが送出され、その Button コントロールがアクティブになります。 実際のデフォルト Button コントロールは、フォーカスが別の Button コントロールに移ると変更されますが、フォーカスがボタンにない場合は元に戻ります。

このプロパティは Flex コンテナによって管理されるため、デフォルトボタンを指定するために直接設定しないでください。

defaultButton は、mx.controls.Button クラスでなければなりません。これは、このプロパティが IUIComponent タイプの場合でも同様です。



実装
    public function get defaultButton():IButton
    public function set defaultButton(value:IButton):void
defaultButtonEnabledプロパティ 
defaultButtonEnabled:Boolean

デフォルトボタンをアクティブ化するために Enter キーが押されていることを FocusManager がチェックするかどうかを示すフラグです。 Enter キーを認識する必要のある TextArea およびその他のコンポーネントでは、このプロパティを false に設定し、デフォルトボタンが存在する場合に Enter キーがデフォルトボタンの click イベントを送出しないようにします。



実装
    public function get defaultButtonEnabled():Boolean
    public function set defaultButtonEnabled(value:Boolean):void
focusPaneプロパティ 
focusPane:Sprite

コンテナ間でフォーカスが移動されるときにコンテナ間で移動する単一の Sprite オブジェクトです。 Sprite は、コンポーネントがフォーカスを持つ可視インジケータの親として使用されます。



実装
    public function get focusPane():Sprite
    public function set focusPane(value:Sprite):void
nextTabIndexプロパティ 
nextTabIndex:int  [読み取り専用]

このタブループで次に使用する一意のタブインデックス。



実装
    public function get nextTabIndex():int
showFocusIndicatorプロパティ 
showFocusIndicator:Boolean

コンポーネントがフォーカスを持っていることを表すインジケータを表示するかどうかを示すフラグです。 true の場合、フォーカスを取得するコンポーネントは、そのコンポーネントがフォーカスを持つ可視インジケータを描画します。

デフォルトは false で、ユーザーが Tab キーを使用すると true に設定されます。

showFocus() メソッドおよび hideFocus() メソッドを使用してこのプロパティを変更すると、コンポーネントがフォーカスを持つ可視インジケータも更新されるため、通常はこれらのメソッドを使用することをお勧めします。



実装
    public function get showFocusIndicator():Boolean
    public function set showFocusIndicator(value:Boolean):void
コンストラクタの詳細
FocusManager()コンストラクタ
public function FocusManager(container:IFocusManagerContainer, popup:Boolean = false)

コンストラクタです。

FocusManager は、IFocusManagerContainer の子の中でフォーカスを管理します。 これは、コンストラクタの実行中に IFocusManagerContainer に自動インストールされます。

パラメータ
container:IFocusManagerContainer — FocusManager をホストする IFocusManagerContainer。
 
popup:Boolean (default = false)true の場合、コンテナがポップアップコンポーネントであり、メインアプリケーションではないことを示します。
メソッドの詳細
activate()メソッド
public function activate():void

複数の IFocusManagerContainer が同時に可視である場合、SystemManager は FocusManager をアクティブまたは非アクティブにします。 FocusManager が非アクティブ化されている IFocusManagerContainer の中でマウスがクリックされると、その FocusManager を対象とする activate() メソッドが SystemManager から呼び出されます。アクティブにされた FocusManager の deactivate() メソッドは、他の FocusManager がアクティブにされる前に呼び出されます。

FocusManager ではイベントハンドラを追加して、キーボードおよびマウス操作に関連するフォーカスを監視できるようにします。

addSWFBridge()メソッド 
public function addSWFBridge(bridge:IEventDispatcher, owner:DisplayObject):void

これは、作成されたフォーカス可能コンテンツの新しいブリッジごとに、最上位フォーカスマネージャおよび親フォーカスマネージャに対して呼び出されます。新しいフォーカス可能コンテンツの親フォーカスマネージャが呼び出されると、フォーカス可能コンテンツはタブ順序の一部になります。最上位フォーカスマネージャが呼び出されると、ブリッジは最上位フォーカスマネージャによって管理されるフォーカスマネージャの 1 つになります。

パラメータ

bridge:IEventDispatcher
 
owner:DisplayObject

deactivate()メソッド 
public function deactivate():void

複数の IFocusManagerContainer が同時に可視である場合、SystemManager は FocusManager をアクティブまたは非アクティブにします。 FocusManager が非アクティブ化されている IFocusManagerContainer の中でマウスがクリックされると、その FocusManager を対象とする activate() メソッドが SystemManager から呼び出されます。アクティブにされた FocusManager の deactivate() メソッドは、他の FocusManager がアクティブにされる前に呼び出されます。

FocusManager ではイベントハンドラを削除して、キーボードおよびマウス操作に関連するフォーカスを監視できるようにします。

findFocusManagerComponent()メソッド 
public function findFocusManagerComponent(o:InteractiveObject):IFocusManagerComponent

指定されたオブジェクトが含まれている IFocusManagerComponent を返します(存在する場合)。 プレーヤーでは Flex コンポーネントのサブコンポーネントにフォーカスを設定できるため、このメソッドでは、コンポーネント側から見てどの IFocusManagerComponent にフォーカスがあるかを判別します。

パラメータ

o:InteractiveObject — プレーヤーレベルのフォーカスを取得できるオブジェクトです。

戻り値
IFocusManagerComponent — または o が格納されている IFOcusManagerComponent です。null
getFocus()メソッド 
public function getFocus():IFocusManagerComponent

現在フォーカスを持っている IFocusManagerComponent コンポーネントを取得します。 このメソッドを呼び出すと、どのコンポーネントにフォーカスがあるかが示されるので、Stage オブジェクトよりもこのメソッドを使用することをお勧めします。 Stage オブジェクトは、該当コンポーネント内のサブコンポーネントを返す場合があります。

戻り値
IFocusManagerComponent — フォーカスを持っている IFocusManagerComponent オブジェクト。
getNextFocusManagerComponent()メソッド 
public function getNextFocusManagerComponent(backward:Boolean = false):IFocusManagerComponent

ユーザーが Tab キーを押して別のコンポーネントにナビゲートするとフォーカスを取得する IFocusManagerComponent を返します。 アプリケーション内に他に有効なコンポーネントがない場合は、現在フォーカスがあるコンポーネントと同じコンポーネントを返します。

パラメータ

backward:Boolean (default = false)true の場合、Shift+Tab キーを押した場合と同じオブジェクトを返します。

戻り値
IFocusManagerComponent — フォーカスを取得するコンポーネント。
hideFocus()メソッド 
public function hideFocus():void

showFocusIndicatorfalse に設定し、フォーカスがあるオブジェクト(存在する場合)から可視のフォーカスインジケータを削除します。

moveFocus()メソッド 
public function moveFocus(direction:String, fromDisplayObject:DisplayObject = null):void

現在のコントロールからタブ順序での前または次のコントロールにフォーカスを移動します。移動の方向は、direction パラメータで指定されます。

パラメータ

direction:StringFocusRequestDirection.FORWARD は、現在フォーカスがあるコントロールから上位のタブインデックスを持つコントロールに移動します。同じインデックスを持つコントロールが複数ある場合は、ドキュメントのフロー内の次のコントロールに移動します。FocusRequestDirection.BACKWARD は、下位のタブインデックスを持つコントロールに移動します。FocusRequestDirection.TOP は、最小のタブインデックスを持つコントロールにフォーカスを移動します。同じインデックスを持つコントロールが複数ある場合は、ドキュメントのフロー内の最初のコントロールにフォーカスが移動します。FocusRequestDirection.BOTTOM は、最大のタブインデックスを持つコントロールにフォーカスを移動します。同じインデックスを持つコントロールが複数ある場合は、ドキュメントのフロー内の最後のコントロールにフォーカスが移動します。
 
fromDisplayObject:DisplayObject (default = null) — フォーカスの移動の開始点です。オブジェクトが提供されている場合は、これにより、現在フォーカスを持つオブジェクトからフォーカスが移動するデフォルトの動作がオーバーライドされます。

removeSWFBridge()メソッド 
public function removeSWFBridge(bridge:IEventDispatcher):void

パラメータ

bridge:IEventDispatcher

setFocus()メソッド 
public function setFocus(o:IFocusManagerComponent):void

フォーカスを IFocusManagerComponent コンポーネントに設定します。コンポーネントの可視性や、有効にされた状態またはその他の状態はチェックされません。

パラメータ

o:IFocusManagerComponent — フォーカスを取得可能なコンポーネント。

showFocus()メソッド 
public function showFocus():void

showFocusIndicatortrue に設定し、フォーカスがあるオブジェクト(存在する場合)に可視のフォーカスインジケータを描画します。

toString()メソッド 
public function toString():String

FocusManager オブジェクトをホストするコンポーネントのストリング表現を返します。このストリングの末尾には ".focusManager" というストリングが追加されます。

戻り値
String — FocusManager オブジェクトをホストするコンポーネントのストリング表現を返します。このストリングの末尾には ".focusManager" というストリングが追加されます。




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/managers/FocusManager.html