Paket | fl.managers |
Klasse | public class FocusManager |
Vererbung | FocusManager Object |
Implementiert | IFocusManager |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Innerhalb der Tabulatorschleife erfolgt die Navigation normalerweise mithilfe der Tabulatortaste. Der Fokus wird innerhalb der Tabulatorschleife schrittweise verschoben – von der ersten Komponente, die über den Fokus verfügt, bis zur letzten und anschließend wieder zur ersten. Eine Tabulatorschleife enthält alle Komponenten und Tab-fähigen Komponenten in einem Container. Eine Anwendung kann mehrere Tabulatorschleifen enthalten.
Eine FocusManager-Instanz ist für eine einzelne Tabulatorschleife verantwortlich. Eine Anwendung verwendet verschiedene FocusManager-Instanzen, um jede enthaltene Tabulatorschleife zu verwalten. Dabei ist eine Hauptanwendung stets mit mindestens einer FocusManager-Instanz verbunden. Eine Anwendung kann zusätzliche FocusManager-Instanzen benötigen, wenn sie ein Popup-Fenster mit einer oder mehreren Tabulatorschleifen mit Komponenten enthält.
Alle Komponenten, die von einer Focus Manager-Instanz verwaltet werden können, müssen die fl.managers.IFocusManagerComponent-Schnittstelle implementieren. Objekte, bei denen der Fokus über Flash Player verwaltet wird, müssen die IFocusManagerComponent-Schnittstelle nicht implementieren.
Die FocusManager-Klasse verwaltet darüber hinaus, wie die Standardschaltfläche implementiert wird. Eine Standardschalfläche löst ein click
-Ereignis aus, wenn die Eingabetaste in einem Formular gedrückt wird, je nachdem, wo sich der Fokus zu diesem Zeitpunkt befindet. Die Standardschaltfläche löst das click
-Ereignis nicht aus, wenn ein Textbereich über den Fokus verfügt oder ein Wert in einer Komponente, z. B. ComboBox oder NumericStepper, geändert wird.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
defaultButton : Button
Ruft die aktuelle Standardschaltfläche ab oder legt diese fest. | FocusManager | ||
defaultButtonEnabled : Boolean
Ruft einen Wert auf oder stellt einen Wert ein, der angibt, ob die Standardschaltfläche aktiviert ist. | FocusManager | ||
form : DisplayObjectContainer
Base DisplayObjectContainer für den IFocusManager, normalerweise die Bühne. | FocusManager | ||
nextTabIndex : int [schreibgeschützt]
Ruft den nächsten eindeutigen Tabulatorindex auf, der in der aktuellen Tabulatorschleife verwendet werden soll. | FocusManager | ||
showFocusIndicator : Boolean
Ruft einen Wert ab, der angibt, ob eine Komponente mit dem Fokus durch einen visuellen Indikator gekennzeichnet wird, oder legt diesen fest. | FocusManager |
Methode | Definiert von | ||
---|---|---|---|
FocusManager(container:DisplayObjectContainer)
Erstellt eine neue FocusManager-Instanz. | FocusManager | ||
Aktiviert die FocusManager-Instanz. | FocusManager | ||
Deaktiviert den FocusManager. | FocusManager | ||
Ruft das interaktive Objekt auf, das das entsprechende Objekt enthält, sofern vorhanden. | FocusManager | ||
Ruft das interaktive Objekt ab, das derzeit den Fokus hat. | FocusManager | ||
Ruft das interaktive Objekt auf, das den Fokus erhielte, sofern der Benutzer die Tabulatortaste drückt, um zum nächsten Objekt zu navigieren. | FocusManager | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Setzt den showFocusIndicator-Wert auf „false“ und entfernt den sichtbaren Fokusindikator ggf. von dem Objekt, das gegenwärtig den Fokus besitzt. | FocusManager | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt den Fokus auf eine IFocusManagerComponent-Komponente. | FocusManager | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Setzt den showFocusIndicator-Wert auf „true“ und zeichnet den visuellen Fokusindikator ggf. auf dem Objekt, das gegenwärtig den Fokus besitzt. | FocusManager | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
defaultButton | Eigenschaft |
defaultButton:Button
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft die aktuelle Standardschaltfläche ab oder legt diese fest.
Eine Standardschalfläche ist die Schaltfläche auf einem Formular, durch die ein click
-Ereignis ausgelöst wird, wenn die Eingabetaste gedrückt wird, je nachdem, wo sich der Fokus zu diesem Zeitpunkt befindet.
Implementierung
public function get defaultButton():Button
public function set defaultButton(value:Button):void
defaultButtonEnabled | Eigenschaft |
defaultButtonEnabled:Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft einen Wert auf oder stellt einen Wert ein, der angibt, ob die Standardschaltfläche aktiviert ist. Wenn dieser Wert auf true
gesetzt wird, überwacht der Focus Manager die Eingabetaste und löst ein click
-Ereignis für die Standardschaltfläche aus, wenn die Eingabetaste gedrückt wird und eine Komponente, bei der es sich nicht um eine Schaltfläche handelt, über den Fokus verfügt. Wenn der Wert auf false
gesetzt ist, wird die Eingabetaste nicht vom Focus Manager überwacht. Komponenten, die die Eingabetaste verwenden, setzen diese Eigenschaft auf false
, um zu verhindern, dass für die Standardschaltfläche, sofern vorhanden, ein click
-Ereignis ausgelöst wird, sobald ein Benutzer die Eingabetaste drückt.
Implementierung
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
form | Eigenschaft |
form:DisplayObjectContainer
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9.0.28.0 |
Base DisplayObjectContainer für den IFocusManager, normalerweise die Bühne.
Implementierung
public function get form():DisplayObjectContainer
public function set form(value:DisplayObjectContainer):void
nextTabIndex | Eigenschaft |
nextTabIndex:int
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft den nächsten eindeutigen Tabulatorindex auf, der in der aktuellen Tabulatorschleife verwendet werden soll.
Implementierung
public function get nextTabIndex():int
showFocusIndicator | Eigenschaft |
showFocusIndicator:Boolean
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft einen Wert ab, der angibt, ob eine Komponente mit dem Fokus durch einen visuellen Indikator gekennzeichnet wird, oder legt diesen fest.
Implementierung
public function get showFocusIndicator():Boolean
public function set showFocusIndicator(value:Boolean):void
FocusManager | () | Konstruktor |
public function FocusManager(container:DisplayObjectContainer)
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Erstellt eine neue FocusManager-Instanz.
Ein Focus Manager verwaltet den Fokus für die untergeordneten Objekte eines DisplayObjectContainer-Objekts.
Parametercontainer:DisplayObjectContainer — Ein Anzeigeobjekt-Container (DisplayObjectContainer), der den Focus Manager (oder stage ) hostet.
|
activate | () | Methode |
public function activate():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Aktiviert die FocusManager-Instanz.
Die FocusManager-Instanz fügt Ereignisprozeduren hinzu, mit denen fokusrelevante Tastatur- und Mauseingaben überwacht werden können.
deactivate | () | Methode |
public function deactivate():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Deaktiviert den FocusManager.
Der FocusManager entfernt Ereignisprozeduren, mit denen fokusrelevante Tastatur- und Mauseingaben überwacht werden können.
findFocusManagerComponent | () | Methode |
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft das interaktive Objekt auf, das das entsprechende Objekt enthält, sofern vorhanden. Der Player kann den Fokus auf eine Unterkomponente einer Flash-Komponente legen. Durch diese Methode wird ermittelt, welches interaktive Objekt vom Blickwinkel der Komponente aus über den Fokus verfügt.
Parameter
component:InteractiveObject — Ein Objekt, das über den Fokus auf Player-Ebene verfügen kann.
|
InteractiveObject — Das Objekt, das component enthält, bzw. sofern keines gefunden wird, die component selbst.
|
getFocus | () | Methode |
public function getFocus():InteractiveObject
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft das interaktive Objekt ab, auf dem derzeit der Fokus liegt. Verwenden Sie vorzugsweise diese Methode anstelle des Stage-Objekts, da hier angegeben wird, auf welcher Komponente der Fokus liegt. Das Stage-Objekt gibt unter Umständen eine Unterkomponente in der Komponente zurück.
RückgabewerteInteractiveObject — Das interaktive Objekt, auf dem derzeit der Fokus liegt.
|
getNextFocusManagerComponent | () | Methode |
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Ruft das interaktive Objekt auf, das den Fokus erhielte, sofern der Benutzer die Tabulatortaste drückt, um zum nächsten Objekt zu navigieren. Durch diese Methode wird das Objekt zurückgegeben, auf dem derzeit der Fokus liegt, wenn die Anwendung keine weiteren gültigen Objekte enthält.
Parameter
backward:Boolean (default = false ) — Falls dieser Parameter auf true gesetzt ist, wird der Fokus rückwärts verschoben. Mit dieser Methode wird dann das Objekt aufgerufen, das den Fokus als Nächstes erhielte, sofern der Benutzer den Tastaturbefehl "Umschalt" + "Tab" drückt.
|
InteractiveObject — Die Komponente, die den Fokus als Nächstes erhält.
|
hideFocus | () | Methode |
public function hideFocus():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Setzt den showFocusIndicator
-Wert auf false
und entfernt den sichtbaren Fokusindikator ggf. von dem Objekt, das gegenwärtig den Fokus besitzt.
setFocus | () | Methode |
public function setFocus(component:InteractiveObject):void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Legt den Fokus auf eine IFocusManagerComponent-Komponente. Die Sichtbarkeit, der Aktivierungsstatus und andere Bedingungen der Komponente werden mit dieser Methode nicht überprüft.
Parameter
component:InteractiveObject — Ein Objekt, das den Fokus erhalten kann.
|
showFocus | () | Methode |
public function showFocus():void
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flash CS3 |
Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
Setzt den showFocusIndicator
-Wert auf true
und zeichnet einen sichtbaren Fokusindikator auf dem Objekt, das gegenwärtig den Fokus besitzt (sofern vorhanden).
Gehen Sie wie folgt vor, um das Beispiel auszuführen:
- Fügen Sie die TextInput-Komponente zur Bibliothek hinzu.
- Speichern Sie diesen Code als "FocusManagerExample.as" im gleichen Verzeichnis wie die FLA-Datei.
- Legen Sie in der FLA-Datei die Dokumentklasse "FocusManagerExample" fest.
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); } } }
Tue Jun 12 2018, 10:04 AM Z