| Paket | fl.managers |
| Klass | public class FocusManager |
| Arv | FocusManager Object |
| Implementerar | IFocusManager |
| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
En tabbslinga navigeras vanligen med tabbtangenten; fokus flyttas mellan komponenterna i tabbslingan i ett cirkelmönster från den första komponenten som är i fokus till den sista, och så tillbaka till den första igen. En tabbslinga inkluderar alla komponenter och tabbaktiverade komponenter i en behållare. I ett program kan det finnas flera olika tabbslingor.
En FocusManager-instans är ansvarig för en enda tabbslinga; ett program använder olika FocusManager-instanser för hantering av de olika tabbslingor som finns i programmet, men ett huvudprogram är alltid associerat med minst en FocusManager-instans. Ett program kan behöva ytterligare FocusManager-instanser om det t.ex. innehåller ett popup-fönster som i sig innehåller en eller flera komponenter med tabbslingor.
Alla komponenter som kan hanteras av en FocusManager-instans måste implementera gränssnittet fl.managers.IFocusManagerComponent. Objekt som Flash Player hanterar fokus för behöver inte implementera gränssnittet IFocusManagerComponent.
Klassen FocusManager hanterar också hur standardknappen implementeras. En standardknapp skickar en click-händelse när användaren trycker på Retur-tangenten i ett formulär, beroende på var fokus ligger just då. Standardknappen skickar inte click-händelsen om ett textområde är i fokus eller om ett värde redigeras i en komponent, exempelvis i en ComboBox- eller NumericStepper-komponent.
Relaterade API-element
| Egenskap | Definieras med | ||
|---|---|---|---|
![]() | constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | |
| defaultButton : Button
Hämtar eller ställer in den aktuella standardknappen. | FocusManager | ||
| defaultButtonEnabled : Boolean
Hämtar eller ställer in ett värde som anger om standardknappen är aktiverad. | FocusManager | ||
| form : DisplayObjectContainer
Bas DisplayObjectContainer för IFocusManager, är vanligtvis scenen. | FocusManager | ||
| nextTabIndex : int [skrivskyddad]
Hämtar nästa unika tabbindexvärde som ska användas i den här tabbslingan. | FocusManager | ||
| showFocusIndicator : Boolean
Hämtar eller ställer in ett värde som anger om en komponent som är i fokus ska markeras med en synlig indikator för fokus. | FocusManager | ||
| Metod | Definieras med | ||
|---|---|---|---|
FocusManager(container:DisplayObjectContainer)
Skapar en ny FocusManager-instans. | FocusManager | ||
Aktiverar FocusManager-instansen. | FocusManager | ||
Inaktiverar FocusManager. | FocusManager | ||
Hämtar det interaktiva objekt som innehåller det givna objektet, om något gör det. | FocusManager | ||
Hämtar det interaktiva objektet som är i fokus. | FocusManager | ||
Hämtar det interaktiva objekt som skulle få fokus om användaren tryckte på tabbtangenten för att gå till nästa objekt. | FocusManager | ||
![]() |
Anger om det finns en egenskap angiven för ett objekt. | Object | |
Ställer in showFocusIndicator-värdet till false och tar bort den visuella fokusindikatorn från objektet som är i fokus, om något är det. | FocusManager | ||
![]() |
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | |
![]() |
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | |
Ställer in fokus på en IFocusManagerComponent-komponent. | FocusManager | ||
![]() |
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | |
Ställer in showFocusIndicator-värdet på true och ritar den visuella fokusindikatorn på objektet som är i fokus, om något är det. | FocusManager | ||
![]() |
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | |
![]() |
Returnerar det angivna objektets strängbeteckning. | Object | |
![]() |
Returnerar det angivna objektets primitiva värde. | Object | |
defaultButton | egenskap |
defaultButton:Button| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Hämtar eller ställer in den aktuella standardknappen.
En standardknapp är den knapp i ett formulär som skickar en click-händelse när användaren trycker på Retur-tangenten, beroende på var fokus ligger just då.
Implementering
public function get defaultButton():Button public function set defaultButton(value:Button):voiddefaultButtonEnabled | egenskap |
defaultButtonEnabled:Boolean| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Hämtar eller ställer in ett värde som anger om standardknappen är aktiverad. Om det här värdet är inställt till true övervakar fokushanteraren Retur-tangenten och skickar en click-händelse till standardknappen om Retur trycks ned när en komponent som inte är en Button-komponent är i fokus. Om det här värdet är inställt till false övervakas inte Retur-tangenten av fokushanteraren. Komponenter som använder Retur-tangenten ställer in den här egenskapen till false för att förhindra att en click-händelse skickas med standardknappen, om sådan finns, när en användare trycker ned tangenten Retur.
Implementering
public function get defaultButtonEnabled():Boolean public function set defaultButtonEnabled(value:Boolean):voidform | egenskap |
form:DisplayObjectContainer| Språkversion: | ActionScript 3.0 |
| Körningsmiljöversioner: | AIR 1.0, Flash Player 9.0.28.0 |
Bas DisplayObjectContainer för IFocusManager, är vanligtvis scenen.
Implementering
public function get form():DisplayObjectContainer public function set form(value:DisplayObjectContainer):voidnextTabIndex | egenskap |
showFocusIndicator | egenskap |
showFocusIndicator:Boolean| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Hämtar eller ställer in ett värde som anger om en komponent som är i fokus ska markeras med en synlig indikator för fokus.
Implementering
public function get showFocusIndicator():Boolean public function set showFocusIndicator(value:Boolean):voidFocusManager | () | Konstruktor |
public function FocusManager(container:DisplayObjectContainer)| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Skapar en ny FocusManager-instans.
En fokushanterare hanterar fokus inom de underordnade objekten för ett DisplayObjectContainer-objekt.
Parametrarcontainer:DisplayObjectContainer — En DisplayObjectContainer som är värd för fokushanteraren eller stage.
|
activate | () | metod |
public function activate():void| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Aktiverar FocusManager-instansen.
FocusManager-instansen lägger till händelsehanterare som gör att den kan övervaka fokusrelaterad tangentbords- och musaktivitet.
deactivate | () | metod |
public function deactivate():void| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Inaktiverar FocusManager.
FocusManager tar bort de händelsehanterare som gör att den kan övervaka fokusrelaterad tangentbords- och musaktivitet.
findFocusManagerComponent | () | metod |
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Hämtar det interaktiva objekt som innehåller det givna objektet, om något gör det. Spelaren kan ställa in fokus på en underkomponent till en Flash-komponent; den här metoden fastställer vilket interaktiv objekt som är i fokus ur komponentperspektiv.
Parametrar
component:InteractiveObject — Ett objekt som kan ha fokus på spelarnivå.
|
InteractiveObject — Objektet innehåller component eller om en sådan inte hittas, själva component.
|
getFocus | () | metod |
public function getFocus():InteractiveObject| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Hämtar det interaktiva objektet som är i fokus. Adobe rekommenderar att anropa den här metoden i stället för att använda Stage-objektet eftersom den anger vilken komponent som är i fokus. Stage kan returnera en underkomponent för den komponenten.
ReturnerarInteractiveObject — Hämtar det interaktiva objektet som är i fokus.
|
getNextFocusManagerComponent | () | metod |
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Hämtar det interaktiva objekt som skulle få fokus om användaren tryckte på tabbtangenten för att gå till nästa objekt. Den här metoden hämtar det objekt som för närvarande är i fokus om det inte finns några andra giltiga objekt i programmet.
Parametrar
backward:Boolean (default = false) — Om den här parametern är inställd på true flyttas fokus bakåt vilket medför att metoden hämtar det objekt som skulle få fokus nästa gång om användaren skulle trycka på tangentkombinationen Skift+Tab.
|
InteractiveObject — Den komponent som ska få fokus nästa gång.
|
hideFocus | () | metod |
public function hideFocus():void| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Ställer in showFocusIndicator-värdet till false och tar bort den visuella fokusindikatorn från objektet som är i fokus, om något är det.
setFocus | () | metod |
public function setFocus(component:InteractiveObject):void| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Ställer in fokus på en IFocusManagerComponent-komponent. Den här metoden kontrollerar inte komponentens synlighet, aktiveringstillstånd eller andra förhållanden.
Parametrar
component:InteractiveObject — Ett objekt som kan få fokus.
|
showFocus | () | metod |
public function showFocus():void| Språkversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Körningsmiljöversioner: | Flash Player 9.0.28.0, AIR 1.0 |
Ställer in showFocusIndicator-värdet till true och ritar den visuella fokusindikatorn på objektet som är i fokus, om något är det.
Följ stegen nedan:
- Lägg till TextInput-komponenten till biblioteket.
- Spara koden som FocusManagerExample.as i samma katalog som din FLA-fil.
- Ställ in FocusManagerExample som DocumentClass i FLA-filen.
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, 01:40 PM Z
Dölj ärvda publika egenskaper
Visa ärvda publika egenskaper