Pakket | fl.managers |
Klasse | public class FocusManager |
Overerving | FocusManager Object |
Implementatie | IFocusManager |
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
U doorloopt een tablus normaalgesproken met de Tab-toets; de focus verplaatst zich tussen de componenten in een tablus in een cirkelpatroon van de eerste component die focus heeft, naar de laatste, waarna de focus weer naar de eerste component retourneert. Een tablus bevat alle componenten en componenten met tabnavigatie in een container. Een toepassing kan talloze tablussen bevatten.
Een instantie FocusManager is verantwoordelijk voor een enkele tablus; een toepassing gebruikt een andere instantie FocusManager om elke tablus te beheren die de toepassing bevat; een hoofdtoepassing is echter altijd gekoppeld aan ten minste één instantie FocusManager. Een toepassing kan aanvullende instanties van FocusManager vereisen wanneer deze bijvoorbeeld een pop-upvenster bevat met één of meer tablussen van componenten.
Alle componenten die door een instantie FocusManager kunnen worden beheerd, moeten de interface fl.managers.IFocusManagerComponent implementeren. Objecten waarvoor Flash Player de focus beheert, zijn niet vereist de interface IFocusManagerComponent te implementeren.
De klasse FocusManager beheert ook de manier waarop de standaardknop wordt geïmplementeerd. Een standaardknop verzendt een gebeurtenis click
wanneer de Enter-toets op een formulier wordt ingedrukt, ongeacht waar de focus zich op dat moment bevindt. De standaardknop verzendt geen gebeurtenis click
wanneer een tekstgebied focus heeft of wanneer een waarde in een component wordt bewerkt, bijvoorbeeld in een component ComboBox of NumericStepper.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
constructor : Object
Verwijzing naar het klasseobject of de constructorfunctie van een bepaalde objectinstantie. | Object | ||
defaultButton : Button
Hiermee wordt de huidige standaardknop opgehaald of ingesteld. | FocusManager | ||
defaultButtonEnabled : Boolean
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de standaardknop is ingeschakeld. | FocusManager | ||
form : DisplayObjectContainer
Algemene DisplayObjectContainer voor de IFocusManager, doorgaans het werkgebied. | FocusManager | ||
nextTabIndex : int [alleen-lezen]
Hiermee wordt de volgende unieke tabindex opgehaald voor gebruik in deze tablus. | FocusManager | ||
showFocusIndicator : Boolean
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een component met focus moet worden gemarkeerd met een visuele focusindicator. | FocusManager |
Methode | Gedefinieerd door | ||
---|---|---|---|
FocusManager(container:DisplayObjectContainer)
Hiermee wordt een nieuwe instantie FocusManager gemaakt. | FocusManager | ||
Activeert de instantie FocusManager. | FocusManager | ||
Hiermee wordt FocusManager gedeactiveerd. | FocusManager | ||
Hiermee wordt het interactieve object opgehaald dat het opgegeven object bevat, indien aanwezig. | FocusManager | ||
Retourneert het interactieve object dat momenteel focus heeft. | FocusManager | ||
Hiermee wordt het interactieve object opgehaald dat focus zou krijgen wanneer de gebruiker op Tab had gedrukt om naar het volgende object te navigeren. | FocusManager | ||
Geeft aan of voor een object een opgegeven eigenschap is gedefinieerd. | Object | ||
Stelt de waarde van showFocusIndicator in op false en verwijdert de visuele focusindicator van het object met focus, indien aanwezig. | FocusManager | ||
Geeft aan of een instantie van de klasse Object zich in de prototypeketen van het object bevindt dat als parameter is opgegeven. | Object | ||
Geeft aan of de opgegeven eigenschap bestaat en kan worden opgesomd. | Object | ||
Hiermee wordt de focus op een component IFocusManagerComponent ingesteld. | FocusManager | ||
Stelt de beschikbaarheid van een dynamische eigenschap voor lusbewerkingen in. | Object | ||
Stelt de waarde van showFocusIndicator in op true en tekent de visuele focusindicator op het object met focus, indien aanwezig. | FocusManager | ||
Geeft de tekenreeksweergave van dit object weer, geformatteerd volgens de locatiespecifieke conventies. | Object | ||
Retourneert een tekenreeksrepresentatie van het opgegeven object. | Object | ||
Retourneert de primitieve waarde van het opgegeven object. | Object |
defaultButton | eigenschap |
defaultButton:Button
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de huidige standaardknop opgehaald of ingesteld.
Een standaardknop is de knop op een formulier die een gebeurtenis click
verzendt wanneer de Enter-toets wordt ingedrukt, ongeacht waar de focus zich op dat moment bevindt.
Implementatie
public function get defaultButton():Button
public function set defaultButton(value:Button):void
defaultButtonEnabled | eigenschap |
defaultButtonEnabled:Boolean
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de standaardknop is ingeschakeld. Wanneer deze waarde is ingesteld op true
, controleert FocusManager de Enter-toets en verzendt een gebeurtenis click
naar de standaardknop op het moment dat de Enter-toets wordt ingedrukt wanneer een component dat geen component Button is, focus heeft. Wanneer deze waarde op false
is ingesteld, controleert FocusManager de Enter-toets niet. Componenten die gebruikmaken van de Enter-toets, stellen deze eigenschap in op false
om te voorkomen dat een gebeurtenis click
naar de standaardknop wordt verzonden, indien deze bestaat, op het moment dat de gebruiker op de Enter-toets drukt.
Implementatie
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
form | eigenschap |
form:DisplayObjectContainer
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9.0.28.0 |
Algemene DisplayObjectContainer voor de IFocusManager, doorgaans het werkgebied.
Implementatie
public function get form():DisplayObjectContainer
public function set form(value:DisplayObjectContainer):void
nextTabIndex | eigenschap |
showFocusIndicator | eigenschap |
showFocusIndicator:Boolean
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of een component met focus moet worden gemarkeerd met een visuele focusindicator.
Implementatie
public function get showFocusIndicator():Boolean
public function set showFocusIndicator(value:Boolean):void
FocusManager | () | Constructor |
public function FocusManager(container:DisplayObjectContainer)
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt een nieuwe instantie FocusManager gemaakt.
Een FocusManager beheert de focus binnen de onderliggende items van een object DisplayObjectContainer.
Parameterscontainer:DisplayObjectContainer — Een DisplayObjectContainer die als host fungeert voor FocusManager of werkgebied .
|
activate | () | methode |
public function activate():void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Activeert de instantie FocusManager.
De instantie FocusManager voegt gebeurtenishandlers toe waarmee focusgerelateerde toetsenbord- en muisactiviteit kan worden gecontroleerd.
deactivate | () | methode |
public function deactivate():void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt FocusManager gedeactiveerd.
FocusManager verwijdert gebeurtenishandlers waarmee focusgerelateerde toetsenbord- en muisactiviteit kan worden gecontroleerd.
findFocusManagerComponent | () | methode |
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt het interactieve object opgehaald dat het opgegeven object bevat, indien aanwezig. De speler kan de focus op een subcomponent van een Flash-component instellen; deze methode bepaalt welk interactief object focus heeft vanuit het perspectief van de component.
Parameters
component:InteractiveObject — Een object dat focus op spelerniveau kan hebben.
|
InteractiveObject — Het object dat de component bevat of, wanneer er geen wordt gevonden, de component zelf.
|
getFocus | () | methode |
public function getFocus():InteractiveObject
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Retourneert het interactieve object dat momenteel focus heeft. Adobe raadt aan deze methode aan te roepen in plaats van het object Stage te gebruiken omdat de methode aangeeft welke component focus heeft. Het werkgebied retourneert mogelijk een subcomponent binnen die component.
Geretourneerde waardeInteractiveObject — Het interactieve object dat momenteel focus heeft.
|
getNextFocusManagerComponent | () | methode |
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt het interactieve object opgehaald dat focus zou krijgen wanneer de gebruiker op Tab had gedrukt om naar het volgende object te navigeren. Deze methode haalt het object op dat momenteel focus heeft wanneer de toepassing geen andere geldige objecten bevat.
Parameters
backward:Boolean (default = false ) — Wanneer deze parameter is ingesteld op true , wordt de focus achterwaarts verplaatst, waardoor deze methode het volgende object ophaalt dat focus zou krijgen wanneer de toetsencombinatie Shift+Tab wordt ingedrukt.
|
InteractiveObject — De volgende component die focus moet krijgen.
|
hideFocus | () | methode |
public function hideFocus():void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de waarde van showFocusIndicator
ingesteld op false
en wordt de visuele focusindicator van het object met focus verwijderd, indien aanwezig.
setFocus | () | methode |
public function setFocus(component:InteractiveObject):void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de focus op een component IFocusManagerComponent ingesteld. Deze methode controleert niet de zichtbaarheid van de component, ingeschakelde status of andere voorwaarden.
Parameters
component:InteractiveObject — Een object dat focus kan krijgen.
|
showFocus | () | methode |
public function showFocus():void
Taalversie: | ActionScript 3.0 |
Productversie: | Flash CS3 |
Runtimeversies: | Flash Player 9.0.28.0, AIR 1.0 |
Hiermee wordt de waarde van showFocusIndicator
ingesteld op true
en wordt de visuele focusindicator op het object met focus getekend, indien aanwezig.
U kunt als volgt het voorbeeld uitvoeren:
- Voeg de component TextInput toe aan de bibliotheek.
- Sla deze code op als FocusManagerExample.as in dezelfde map als het FLA-bestand.
- Stel de klasse Document in het FLA-bestand in op FocusManagerExample.
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); } } }
Wed Jun 13 2018, 11:42 AM Z