Packagemx.managers
Interfacepublic interface IFocusManager
SubinterfacesIFocusManagerComplexComponent
ImplementorsAccordion, Button, ButtonBar, Container, FocusManager, ListBase, TabNavigator, TextArea, TextInput

The IFocusManager interface defines the interface that components must implement to manage the focus on components in response to mouse activity or keyboard activity (Tab key), and to support a default button.

See also

mx.managers.FocusManager


Public Properties
 PropertyDefined by
  defaultButton : IButton
A reference to the original default Button control.
IFocusManager
  defaultButtonEnabled : Boolean
A flag that indicates whether the FocusManager should check for the Enter key being pressed to activate the default button.
IFocusManager
  focusPane : Sprite
A single Sprite that is moved from container to container as the focus moves to those containers.
IFocusManager
  nextTabIndex : int
[read-only] The next unique tab index to use in this tab loop.
IFocusManager
  showFocusIndicator : Boolean
A flag that indicates whether to display an indicator that a component has focus.
IFocusManager
Public Methods
 MethodDefined by
  
activate():void
The SystemManager activates and deactivates a FocusManager if more than one IFocusManagerContainer is visible at the same time.
IFocusManager
  
addSWFBridge(bridge:IEventDispatcher, owner:DisplayObject):void
Adds a SWF bridge to this focus manager.
IFocusManager
  
deactivate():void
The SystemManager activates and deactivates a FocusManager if more than one IFocusManagerContainer is visible at the same time.
IFocusManager
  
Returns the IFocusManagerComponent that contains the given object, if any.
IFocusManager
  
Gets the IFocusManagerComponent component that currently has the focus.
IFocusManager
  
Returns the IFocusManagerComponent that would receive focus if the user pressed the Tab key to navigate to another component.
IFocusManager
  
hideFocus():void
Sets showFocusIndicator to false and removes the visual focus indicator from the focused object, if any.
IFocusManager
  
moveFocus(direction:String, fromDisplayObject:DisplayObject = null):void
Move focus from the current control to the previous or next control in the tab order.
IFocusManager
  
removeSWFBridge(bridge:IEventDispatcher):void
Removes a focus manager.
IFocusManager
  
Sets focus to an IFocusManagerComponent component.
IFocusManager
  
showFocus():void
Sets showFocusIndicator to true and draws the visual focus indicator on the focused object, if any.
IFocusManager
Property detail
defaultButtonproperty
defaultButton:IButton  [read-write]

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
defaultButtonEnabledproperty 
defaultButtonEnabled:Boolean  [read-write]

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
focusPaneproperty 
focusPane:Sprite  [read-write]

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
nextTabIndexproperty 
nextTabIndex:int  [read-only]

The next unique tab index to use in this tab loop.

Implementation
    public function get nextTabIndex():int
showFocusIndicatorproperty 
showFocusIndicator:Boolean  [read-write]

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
Method detail
activate()method
public function activate():void

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.

addSWFBridge()method 
public function addSWFBridge(bridge:IEventDispatcher, owner:DisplayObject):void

Adds a SWF bridge to this focus manager. Adding the SWF bridge is required to get focus to transfer seamlessly between focus managers in other sandboxes or using different versions of a focus manager.

Parameters
bridge:IEventDispatcher — The bridge to another focus manager.
 
owner:DisplayObject — The display object that owns the bridge.
deactivate()method 
public function deactivate():void

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.

findFocusManagerComponent()method 
public function findFocusManagerComponent(o:InteractiveObject):IFocusManagerComponent

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.

Returns
IFocusManagerComponent — The IFOcusManagerComponent containing o or null
getFocus()method 
public function getFocus():IFocusManagerComponent

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.

Returns
IFocusManagerComponent — IFocusManagerComponent object that has focus.
getNextFocusManagerComponent()method 
public function getNextFocusManagerComponent(backward:Boolean = false):IFocusManagerComponent

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.

Returns
IFocusManagerComponent — The component that would receive focus.
hideFocus()method 
public function hideFocus():void

Sets showFocusIndicator to false and removes the visual focus indicator from the focused object, if any.

moveFocus()method 
public function moveFocus(direction:String, fromDisplayObject:DisplayObject = null):void

Move focus from the current control to the previous or next control in the tab order. The direction of the move is specified with the direction argument.

Parameters
direction:StringFocusRequestDirection.FORWARD moves to from the control that currently has focus to controls with a higher tab index. If more than one control has the same index, the next control in the flow of the document is visited. FocusRequestDirection.BACKWARD moves to controls with a lower tab index. FocusRequestDirection.TOP move the focus to the control with the lowest tab index. If more than one control has the same index, focus is moved to the first control in the flow of the document. FocusRequestDirection.BOTTOM move the focus to the control with the highest tab index. If more than one control has the same index, focus is moved to the last control in the flow of the document.
 
fromDisplayObject:DisplayObject (default = null) — The starting point from which focus is moved. If an object is provided, this overrides the default behavior where focus is moved from the object that currently has focus.
removeSWFBridge()method 
public function removeSWFBridge(bridge:IEventDispatcher):void

Removes a focus manager. This must be called when a bridge added by calling addSWFBridge is removed.

Parameters
bridge:IEventDispatcher — The bridge to remove.
setFocus()method 
public function setFocus(o:IFocusManagerComponent):void

Sets focus to an IFocusManagerComponent component. Does not check for the components visibility, enabled state, or any other conditions.

Parameters
o:IFocusManagerComponent — A component that can receive focus.
showFocus()method 
public function showFocus():void

Sets showFocusIndicator to true and draws the visual focus indicator on the focused object, if any.