| パッケージ | fl.managers |
| クラス | public class FocusManager |
| 継承 | FocusManager Object |
| 実装 | IFocusManager |
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
タブループは一般に、Tab キーを使って移動されます。フォーカスは、タブループ内のコンポーネント間を、フォーカスがある最初のコンポーネントから最後のコンポーネントへ、そしてまた最初のコンポーネントへと、循環するパターンで移動します。タブループには、コンテナ内のすべてのコンポーネントおよびタブが有効なコンポーネントが含まれています。アプリケーションには、数多くのタブループを含めることができます。
1 つの FocusManager インスタンスが、1 つのタブループを管理します。メインアプリケーションは常に、少なくとも 1 つの FocusManager インスタンスと関連付けられていますが、アプリケーションでは、その中の各タブループの管理に別々の FocusManager インスタンスを使用します。アプリケーションに、たとえばコンポーネントからなるタブループを別途含んでいるポップアップウィンドウなどがある場合は、さらに FocusManager インスタンスが必要となることがあります。
FocusManager インスタンスによって管理可能なコンポーネントはすべて、fl.managers.IFocusManagerComponent インターフェイスが実装されている必要があります。Flash Player がフォーカスを管理しているオブジェクトには、IFocusManagerComponent インターフェイスの実装は必要ありません。
FocusManager クラスは、デフォルトボタンの実装方法も管理します。デフォルトボタンは、フォーム上で Enter キーが押されると、そのときフォーカスがどこにあるかに応じて、click イベントを送出します。デフォルトボタンは、テキストエリアにフォーカスがある場合、または ComboBox や NumericStepper コンポーネントなどのコンポーネント内で値が編集されている場合には、click イベントを送出しません。
関連項目
| プロパティ | 定義元 | ||
|---|---|---|---|
![]() | constructor : Object
特定のオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
| Object | |
| defaultButton : Button
現在のデフォルトボタンを取得または設定します。
| FocusManager | ||
| defaultButtonEnabled : Boolean
デフォルトのボタンが有効かどうかを示す値を取得または設定します。
| FocusManager | ||
| nextTabIndex : int
[read-only]
このタブループで次に使用する固有のタブインデックスを取得します。
| FocusManager | ||
![]() | prototype : Object
[static]
クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
| Object | |
| showFocusIndicator : Boolean
フォーカスのあるコンポーネントをフォーカスの可視インジケータでマークするかどうかを示す値を取得または設定します。
| FocusManager | ||
| メソッド | 定義元 | ||
|---|---|---|---|
|
FocusManager(container:DisplayObjectContainer)
新しい FocusManager インスタンスを作成します。
| FocusManager | ||
|
FocusManager インスタンスをアクティブにします。
| FocusManager | ||
|
FocusManager を非アクティブ化します。
| FocusManager | ||
|
指定されたオブジェクトが含まれているインタラクティブオブジェクト (存在する場合) を取得します。
| FocusManager | ||
|
現在フォーカスを持っているインタラクティブオブジェクトを取得します。
| FocusManager | ||
|
ユーザーが Tab キーを押して次のオブジェクトに移動すると、フォーカスを受け取るインタラクティブオブジェクトを取得します。
| FocusManager | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
| Object | |
|
showFocusIndicator 値を false に設定し、フォーカスがあるオブジェクト (存在する場合) から可視のフォーカスインジケータを削除します。
| FocusManager | ||
![]() |
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
| Object | |
![]() |
指定されたプロパティが存在し列挙できるかどうかを示します。
| Object | |
|
フォーカスを IFocusManagerComponent コンポーネントに設定します。
| FocusManager | ||
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。
| Object | |
|
showFocusIndicator 値を true に設定し、フォーカスがあるオブジェクト (存在する場合) に可視のフォーカスインジケータを描画します。
| FocusManager | ||
![]() |
指定されたオブジェクトのストリング表現を返します。
| Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。
| Object | |
| defaultButton | プロパティ |
defaultButton:Button [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
現在のデフォルトボタンを取得または設定します。
デフォルトボタンは、Enter キーが押されると、そのときフォーカスがどこにあるかに応じて click イベントを送出する、フォーム上のボタンです。
public function get defaultButton():Button
public function set defaultButton(value:Button):void
| defaultButtonEnabled | プロパティ |
defaultButtonEnabled:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
デフォルトのボタンが有効かどうかを示す値を取得または設定します。この値が true に設定されていると、フォーカスマネージャは Enter キーを監視して、ボタンコンポーネント以外のコンポーネントにフォーカスがあるときに Enter キーが押された場合に、デフォルトボタンに対して click イベントを送出します。この値が false に設定されていると、フォーカスマネージャは Enter キーを監視しません。Enter キーを使用するコンポーネントでは、このプロパティを false に設定して、ユーザーが Enter キーを押したときにデフォルトのボタン (存在する場合) に対して click イベントが送出されることを回避します。
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
| nextTabIndex | プロパティ |
nextTabIndex:int [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
このタブループで次に使用する固有のタブインデックスを取得します。
public function get nextTabIndex():int
| showFocusIndicator | プロパティ |
showFocusIndicator:Boolean [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
フォーカスのあるコンポーネントをフォーカスの可視インジケータでマークするかどうかを示す値を取得または設定します。
public function get showFocusIndicator():Boolean
public function set showFocusIndicator(value:Boolean):void
| FocusManager | () | コンストラクタ |
public function FocusManager(container:DisplayObjectContainer)
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
新しい FocusManager インスタンスを作成します。
フォーカスマネージャは、DisplayObjectContainer オブジェクトの子の中でフォーカスを管理します。
パラメータcontainer:DisplayObjectContainer — フォーカスマネージャをホストする DisplayObjectContainer、または stage です。
|
| activate | () | メソッド |
public function activate():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
FocusManager インスタンスをアクティブにします。
FocusManager インスタンスは、イベントハンドラを追加して、フォーカスに関連したキーボード操作とマウス操作を監視できるようにします。
| deactivate | () | メソッド |
public function deactivate():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
FocusManager を非アクティブ化します。
FocusManager では、フォーカスに関連するキーボードやマウスの操作を監視できるイベントハンドラを削除します。
| findFocusManagerComponent | () | メソッド |
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
指定されたオブジェクトが含まれているインタラクティブオブジェクト (存在する場合) を取得します。プレーヤーでは Flash コンポーネントのサブコンポーネントにフォーカスを設定できます。このメソッドでは、コンポーネント側から見てどのインタラクティブオブジェクトにフォーカスがあるかを判別します。
パラメータ
component:InteractiveObject — プレーヤーレベルのフォーカスを取得できるオブジェクトです。
|
InteractiveObject — component を含んでいるオブジェクト、または、それが見つからなかった場合は、component 自体です。
|
| getFocus | () | メソッド |
public function getFocus():InteractiveObject
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
現在フォーカスを持っているインタラクティブオブジェクトを取得します。このメソッドを呼び出すと、どのコンポーネントにフォーカスがあるかが示されるので、Stage オブジェクトよりもこのメソッドを使用することをお勧めします。Stage オブジェクトは、該当コンポーネント内のサブコンポーネントを返す場合があります。
戻り値InteractiveObject — 現在フォーカスがあるインタラクティブなオブジェクト。
|
| getNextFocusManagerComponent | () | メソッド |
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
ユーザーが Tab キーを押して次のオブジェクトに移動すると、フォーカスを受け取るインタラクティブオブジェクトを取得します。このメソッドは、アプリケーション内に他に有効なオブジェクトがなければ、現在フォーカスを持っているオブジェクトを取得します。
パラメータ
backward:Boolean (default = false) — このパラメータが true に設定されている場合、フォーカスは後方に移動し、それによりこのメソッドは、Shift+Tab キーが押されると次にフォーカスを受け取るオブジェクトを取得します。
|
InteractiveObject — フォーカスを次に受け取るコンポーネントです。
|
| hideFocus | () | メソッド |
public function hideFocus():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
showFocusIndicator 値を false に設定し、フォーカスがあるオブジェクト (存在する場合) から可視のフォーカスインジケータを削除します。
| setFocus | () | メソッド |
public function setFocus(component:InteractiveObject):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
フォーカスを IFocusManagerComponent コンポーネントに設定します。このメソッドでは、コンポーネントの可視性、有効にされた状態またはその他の条件については、チェックされません。
パラメータ
component:InteractiveObject — フォーカスを取得できるオブジェクトです。
|
| showFocus | () | メソッド |
public function showFocus():void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9.0.28.0 |
showFocusIndicator 値を true に設定し、フォーカスがあるオブジェクト (存在する場合) に可視のフォーカスインジケータを描画します。
例を実行するには、次の手順に従います。
package
{
import fl.controls.TextInput;
import fl.managers.FocusManager;
import flash.display.InteractiveObject;
import flash.display.Sprite;
import flash.events.*;
import flash.utils.Timer;
public class FocusManagerExample extends Sprite
{
private var fm:FocusManager;
public function FocusManagerExample() {
buildGridOfTextInputs();
fm = new FocusManager(this);
var t:Timer = new Timer(1000);
t.addEventListener(TimerEvent.TIMER,secondPassed);
t.start();
}
private function buildGridOfTextInputs():void {
var rowSpacing:uint = 30;
var colSpacing:uint = 110;
var totalRows:uint = 4;
var totalCols:uint = 3;
var i:uint;
for(i = 0; i < totalRows * totalCols; i++) {
var ti:TextInput = new TextInput()
ti.name = "component"+i.toString();
ti.addEventListener(FocusEvent.FOCUS_IN,focusChange);
ti.setSize(100,20);
ti.x = 10 + ((i % totalCols) * colSpacing);
ti.y = 10 + (Math.floor(i / totalCols) * rowSpacing);
ti.tabEnabled = true;
addChild(ti);
}
}
private function secondPassed(e:TimerEvent):void {
var nextComponent:InteractiveObject = fm.getNextFocusManagerComponent();
fm.setFocus(nextComponent);
}
private function focusChange(e:FocusEvent):void {
trace("Focus change: " + e.target.name);
}
}
}
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/fl/managers/FocusManager.html