Packagefl.managers
Classepublic class FocusManager
HéritageFocusManager Inheritance Object
Implémente IFocusManager

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

La classe FocusManager gère le focus pour un ensemble de composants parcourus à l'aide de la souris ou du clavier dans une boucle de tabulation.

La navigation à l'intérieur d'une boucle de tabulation se fait généralement à l'aide de la touche de tabulation ; le focus passe d'un composant à un autre dans la boucle de navigation en décrivant un cercle, le focus passant du premier composant au dernier pour revenir au premier. Une boucle de tabulation comprend tous les composants, ainsi que les composants d'un conteneur compatibles avec une action de tabulation. Un application peut contenir de nombreuses boucles de tabulation.

Une occurrence de FocusManager est responsable d'une seule boucle de tabulation ; même si une application principale est toujours associée à au moins une instance de FocusManager, une application utilise plusieurs occurrences de FocusManager pour gérer chaque boucle de tabulation qu'elle contient. Une application peut nécessiter d'autres occurrences de FocusManager si elle comprend une fenêtre contextuelle qui, par exemple, contient distinctement une ou plusieurs boucles de tabulation de composants.

Tous les composants susceptibles d'être gérés par une occurrence de FocusManager doivent implémenter l'interface fl.managers.IFocusManagerComponent. Les objets dont le focus est géré par Flash Player ne sont pas tenus d'implémenter l'interface IFocusManagerComponent.

La classe FocusManager gère également l'implémentation du bouton par défaut. Un bouton par défaut distribue un événement click lorsque l'utilisateur appuie sur la touche Entrée dans un formulaire, selon l'emplacement du focus à cet instant. Le bouton par défaut ne distribue pas d'événement click si le focus se trouve dans une zone de texte ou si une valeur est en cours de modification dans un composant (ex., ComboBox ou NumericStepper).

Consulter les exemples

Voir aussi

IFocusManager
IFocusManagerComponent


Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l'objet de classe ou à la fonction constructeur d'une occurrence donnée d'un objet.
Object
  defaultButton : Button
Obtient ou définit le bouton par défaut actuel.
FocusManager
  defaultButtonEnabled : Boolean
Récupère ou définit une valeur indiquant si le bouton par défaut est activé.
FocusManager
  nextTabIndex : int
[lecture-seule] Récupère le prochain index de tabulation unique à utiliser dans cette boucle de tabulation.
FocusManager
 Inheritedprototype : Object
[static] Référence à l’objet prototype d’un objet de classe ou fonction.
Object
  showFocusIndicator : Boolean
Récupère ou définit une valeur qui indique si un composant qui a le focus doit recevoir un indicateur visuel de focus.
FocusManager
Méthodes publiques
 MéthodeDéfini par
  
Crée une nouvelle occurrence de FocusManager.
FocusManager
  
Active l’occurrence de FocusManager.
FocusManager
  
Désactive le FocusManager.
FocusManager
  
Récupère l'objet interactif qui contient l'objet donné, le cas échéant.
FocusManager
  
Récupère l'objet interactif qui détient actuellement le focus.
FocusManager
  
Récupère l'objet interactif qui recevrait le focus si l'utilisateur appuyait sur la touche de tabulation pour accéder à l'objet suivant.
FocusManager
 Inherited
Indique si la propriété spécifiée d'un objet est définie.
Object
  
Définit la valeur de showFocusIndicator sur false et supprime l'indicateur de focus visuel de l'objet qui a le focus, le cas échéant.
FocusManager
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l'objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
  
Définit le focus sur un composant IFocusManagerComponent.
FocusManager
 Inherited
Définit la disponibilité d'une propriété dynamique pour les opérations en boucle.
Object
  
Définit la valeur de showFocusIndicator sur true et dessine l'indicateur de focus visuel sur l'objet qui a le focus, le cas échéant.
FocusManager
 Inherited
Renvoie la représentation sous forme de chaîne de l'objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l'objet spécifié.
Object
Détails des propriétés
defaultButtonpropriété
defaultButton:Button  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Obtient ou définit le bouton par défaut actuel.

Le bouton par défaut correspond au bouton d'un formulaire qui distribue un événement click lorsque l'utilisateur appuie sur la touche Entrée, en fonction de l'emplacement du focus à cet instant.


Implémentation
    public function get defaultButton():Button
    public function set defaultButton(value:Button):void
defaultButtonEnabledpropriété 
defaultButtonEnabled:Boolean  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Récupère ou définit une valeur indiquant si le bouton par défaut est activé. Si cette valeur est définie sur true, le gestionnaire de focus surveille la touche Entrée et distribue un événement click au bouton par défaut si l'utilisateur appuie sur la touche Entrée au moment où un composant autre qu'un bouton détient le focus. Si cette valeur est définie sur false, le gestionnaire de focus ne surveille pas la touche Entrée. Les composants qui utilisent la touche Entrée définissent cette propriété sur false pour empêcher la distribution d'un événement click sur le bouton par défaut, dans le cas où il en existe un, lorsque l'utilisateur appuie sur la touche Entrée.


Implémentation
    public function get defaultButtonEnabled():Boolean
    public function set defaultButtonEnabled(value:Boolean):void
nextTabIndexpropriété 
nextTabIndex:int  [lecture-seule]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Récupère le prochain index de tabulation unique à utiliser dans cette boucle de tabulation.


Implémentation
    public function get nextTabIndex():int
showFocusIndicatorpropriété 
showFocusIndicator:Boolean  [lecture-écriture]

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Récupère ou définit une valeur qui indique si un composant qui a le focus doit recevoir un indicateur visuel de focus.


Implémentation
    public function get showFocusIndicator():Boolean
    public function set showFocusIndicator(value:Boolean):void
Détails du constructeur
FocusManager()Constructeur
public function FocusManager(container:DisplayObjectContainer)

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Crée une nouvelle occurrence de FocusManager.

Un gestionnaire de focus gère le focus au sein des enfants d'un objet DisplayObjectContainer.

Paramètres
container:DisplayObjectContainer — DisplayObjectContainer qui héberge le gestionnaire de focus ou stage.
Détails des méthodes
activate()méthode
public function activate():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Active l’occurrence de FocusManager.

L'occurrence FocusManager ajoute des gestionnaires d'événement qui lui permettent de surveiller les actions de la souris et du clavier en relation avec le focus.

deactivate()méthode 
public function deactivate():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Désactive le FocusManager.

Le FocusManager supprime les gestionnaires d'événement qui lui permettent de surveiller les actions de la souris et du clavier en relation avec le focus.

findFocusManagerComponent()méthode 
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Récupère l'objet interactif qui contient l'objet donné, le cas échéant. Le lecteur pouvant attribuer le focus à un sous-composant d'un composant Flash, cette méthode identifie l'objet interactif qui a le focus du point de vue du composant.

Paramètres

component:InteractiveObject — Objet pouvant avoir le focus de niveau Flash Player.

Valeur renvoyée
InteractiveObject — Objet contenant l'objet component ou, si aucun objet de ce type n'est trouvé, l'objet component lui-même.
getFocus()méthode 
public function getFocus():InteractiveObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Récupère l'objet interactif qui détient actuellement le focus. Adobe conseille d'appeler cette méthode plutôt que d'utiliser l'objet Stage, car cette méthode indique le composant qui a le focus. L'objet Stage risque de renvoyer un sous-composant dans ce composant.

Valeur renvoyée
InteractiveObject — Objet interactif qui détient actuellement le focus.
getNextFocusManagerComponent()méthode 
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Récupère l'objet interactif qui recevrait le focus si l'utilisateur appuyait sur la touche de tabulation pour accéder à l'objet suivant. Cette méthode récupère l'objet qui détient actuellement le focus s'il n'y a pas d'autre objet valide dans l'application.

Paramètres

backward:Boolean (default = false) — Si ce paramètre a la valeur true, le focus se déplace vers l'avant, ce qui amène cette méthode à récupérer le prochain objet appelé à recevoir le focus si l'utilisateur appuie sur la combinaison Maj + Tab.

Valeur renvoyée
InteractiveObject — Prochain composant appelé à recevoir le focus.
hideFocus()méthode 
public function hideFocus():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Définit la valeur de showFocusIndicator sur false et supprime l'indicateur de focus visuel de l'objet qui a le focus, le cas échéant.

setFocus()méthode 
public function setFocus(component:InteractiveObject):void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Définit le focus sur un composant IFocusManagerComponent. Cette méthode ne vérifie ni la visibilité du composant, ni son état activé, ni aucune autre condition.

Paramètres

component:InteractiveObject — Objet qui peut recevoir le focus.

showFocus()méthode 
public function showFocus():void

Version du langage : ActionScript 3.0
Version du lecteur : Flash Player 9.0.28.0

Définit la valeur de showFocusIndicator sur true et dessine l'indicateur de focus visuel sur l'objet qui a le focus, le cas échéant.

Exemples Utilisation des exemples
FocusManagerExample.as

Cet exemple montre comment utiliser la classe FocusManager pour déplacer le focus entre les composants sur la scène.

Pour exécuter l'exemple, suivez ces étapes :

  1. Ajoutez le composant TextInput à la bibliothèque.
  2. Enregistrez ce code sous le nom FocusManagerExample.as dans le même répertoire que votre fichier FLA.
  3. Dans le fichier FLA, définissez la classe Document sur 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);
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/fl/managers/FocusManager.html