The FocusManager class manages the focus on components in response to mouse
activity or keyboard activity (Tab key). There can be several FocusManager
instances in an application. Each FocusManager instance
is responsible for a set of components that comprise a "tab loop". If you
hit Tab enough times, focus traverses through a set of components and
eventually get back to the first component that had focus. That is a "tab loop"
and a FocusManager instance manages that loop. If there are popup windows
with their own set of components in a "tab loop" those popup windows will have
their own FocusManager instances. The main application always has a
FocusManager instance.
The FocusManager manages focus from the "component level".
In Flex, a UITextField in a component is the only way to allow keyboard entry
of text. To the Flash Player or AIR, that UITextField has focus. However, from the
FocusManager's perspective the component that parents the UITextField has focus.
Thus there is a distinction between component-level focus and player-level focus.
Application developers generally only have to deal with component-level focus while
component developers must understand player-level focus.
All components that can be managed by the FocusManager must implement
mx.managers.IFocusManagerComponent, whereas objects managed by player-level focus do not.
The FocusManager also managers the concept of a defaultButton, which is
the Button on a form that dispatches a click event when the Enter key is pressed
depending on where focus is at that time.
[override]
Returns a String representation of the component hosting the FocusManager object,
with the String ".focusManager" appended to the end of the String.
A reference to the original default Button control.
Pressing the Enter key while the focus is on any control
activates the Button control by dispatching a click event
on the Button control, just as if it was clicked with the mouse.
The actual default Button control changes if focus is given to another
Button control, but switches back to the original if focus is not
on a button.
This property is managed by Flex containers; do not set it directly
to specify the default button.
The defaultButton must be of class
mx.controls.Button even though this property
is of type IUIComponent.
Implementation public function get defaultButton():IButton public function set defaultButton(value:IButton):void
defaultButtonEnabled
property
defaultButtonEnabled:Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
A flag that indicates whether the FocusManager should
check for the Enter key being pressed to activate the default button.
TextArea and other components that want to recognize
the Enter key
set this property to false to disable the Enter
key from dispatching a click event on the
default button, if it exists.
Implementation public function get defaultButtonEnabled():Boolean public function set defaultButtonEnabled(value:Boolean):void
focusPane
property
focusPane:Sprite
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
A single Sprite that is moved from container to container
as the focus moves to those containers.
The Sprite is used as the parent of the visual indicator
that a component has focus.
Implementation public function get focusPane():Sprite public function set focusPane(value:Sprite):void
nextTabIndex
property
nextTabIndex:int [read-only]
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The next unique tab index to use in this tab loop.
Implementation public function get nextTabIndex():int
showFocusIndicator
property
showFocusIndicator:Boolean
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
A flag that indicates whether to display an indicator that
a component has focus.
If true a component receiving focus
draws a visible indicator that it has focus.
By default, this is false until the user uses
the Tab key, then it is set to true.
In general it is better to use
the showFocus() and hideFocus() methods
to change this property as those methods also update the
visual indicator that a component has focus.
Implementation public function get showFocusIndicator():Boolean public function set showFocusIndicator(value:Boolean):void
A FocusManager manages the focus within the children of an IFocusManagerContainer.
It installs itself in the IFocusManagerContainer during execution
of the constructor.
Parameters
container:IFocusManagerContainer — An IFocusManagerContainer that hosts the FocusManager.
popup:Boolean (default = false) — If true, indicates that the container
is a popup component and not the main application.
Method Detail
activate
()
method
public function activate():void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The SystemManager activates and deactivates a FocusManager
if more than one IFocusManagerContainer is visible at the same time.
If the mouse is clicked in an IFocusManagerContainer with a deactivated
FocusManager, the SystemManager will call
the activate() method on that FocusManager.
The FocusManager that was activated will have its deactivate() method
called prior to the activation of another FocusManager.
The FocusManager adds event handlers that allow it to monitor
focus related keyboard and mouse activity.
deactivate
()
method
public function deactivate():void
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
The SystemManager activates and deactivates a FocusManager
if more than one IFocusManagerContainer is visible at the same time.
If the mouse is clicked in an IFocusManagerContainer with a deactivated
FocusManager, the SystemManager will call
the activate() method on that FocusManager.
The FocusManager that was activated will have its deactivate() method
called prior to the activation of another FocusManager.
The FocusManager removes event handlers that allow it to monitor
focus related keyboard and mouse activity.
Returns the IFocusManagerComponent that contains the given object, if any.
Because the player can set focus to a subcomponent of a Flex component
this method determines which IFocusManagerComponent has focus from
the component perspective.
Parameters
o:InteractiveObject — An object that can have player-level focus.
Gets the IFocusManagerComponent component that currently has the focus.
Calling this method is recommended instead of using the Stage object
because it indicates which component has focus.
The Stage might return a subcomponent in that component.
public function getNextFocusManagerComponent(backward:Boolean = false):IFocusManagerComponent
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Returns the IFocusManagerComponent that would receive focus
if the user pressed the Tab key to navigate to another component.
It will return the same component as the current focused component
if there are no other valid components in the application.
Parameters
backward:Boolean (default = false) — If true, return the object
as if the Shift-Tab keys were pressed.
Sets showFocusIndicator to true
and draws the visual focus indicator on the focused object, if any.
toString
()
method
override public function toString():String
Language Version :
ActionScript 3.0
Product Version :
Flex 3
Runtime Versions :
Flash Player 9, AIR 1.1
Returns a String representation of the component hosting the FocusManager object,
with the String ".focusManager" appended to the end of the String.
Returns
String — Returns a String representation of the component hosting the FocusManager object,
with the String ".focusManager" appended to the end of the String.