mx.managers
接口public interface IFocusManagerComponent
实现器 Accordion, AdvancedListBase, Button, ButtonBar, ChartBase, ComboBase, DateChooser, DateField, HTML, ListBase, MenuBar, NumericStepper, TabNavigator, TextArea, TextInput, UIMovieClip

IFocusManagerComponent 接口用于定义一些接口,可获得焦点的组件必须实现这些接口才能从 FocusManager 获得焦点。UIComponent 类中提供了此接口的基本实现,但 UIComponent 并不实现完整的 IFocusManagerComponent 接口,因为部分 UIComponent 无需获得焦点。因此,要使 UIComponent 派生的组件成为一个可获得焦点的有效组件,只需将“implements IFocusManagerComponent”添加到类定义即可。



公共属性
 属性定义方
  focusEnabled : Boolean
一个标志,用于指示组件处于选中状态时是否可以获得焦点。
IFocusManagerComponent
  mouseFocusEnabled : Boolean
[只读 (read-only)] 一个标志,用于当使用鼠标选中组件时组件是否可以获得焦点。
IFocusManagerComponent
  tabEnabled : Boolean
[只读 (read-only)] 一个标志,指示通过按 Tab 键最终是否能够将焦点移动到此组件。
IFocusManagerComponent
  tabIndex : int
[只读 (read-only)] 如果 tabEnabled 为 true,则为组件接收焦点的顺序。
IFocusManagerComponent
公共方法
 方法定义方
  
当组件获得焦点时,由 FocusManager 调用。
IFocusManagerComponent
  
当组件获得焦点时,由 FocusManager 调用。
IFocusManagerComponent
属性详细信息
focusEnabled属性
focusEnabled:Boolean  [读写]

一个标志,用于指示组件处于选中状态时是否可以获得焦点。

如果组件中的子组件实现了 IFocusManagerComponent 接口,但是您从不希望它获得焦点,作为一种优化,您可以先将 focusEnabled 设置为 false,然后再在子组件上调用 addChild()

这将使 FocusManager 忽略此组件,并且使它不会对组件进行监视以查看 tabEnabledtabChildrenmouseFocusEnabled 属性是否发生更改。这也意味着 addChild() 之后,您无法更改此值,也不能指望 FocusManager 进行监视。

注意:这并不意味着您无法在 setFocus() 方法中以编程方式使此对象获得焦点;它仅通知 FocusManager 在 Tab 和鼠标搜索中忽略此 IFocusManagerComponent 组件。



实现
    public function get focusEnabled():Boolean
    public function set focusEnabled(value:Boolean):void
mouseFocusEnabled属性 
mouseFocusEnabled:Boolean  [只读 (read-only)]

一个标志,用于当使用鼠标选中组件时组件是否可以获得焦点。如果为 false,焦点将转移到第一个 mouseFocusEnabled 父项。



实现
    public function get mouseFocusEnabled():Boolean
tabEnabled属性 
tabEnabled:Boolean  [只读 (read-only)]

一个标志,指示通过按 Tab 键最终是否能够将焦点移动到此组件。即使为 false,您也可以通过使用鼠标进行选择或通过调用 setFocus() 获得焦点。



实现
    public function get tabEnabled():Boolean
tabIndex属性 
tabIndex:int  [只读 (read-only)]

如果 tabEnabled 为 true,则为组件接收焦点的顺序。如果为 -1,则组件按 z 轴顺序获得焦点。



实现
    public function get tabIndex():int
方法详细信息
drawFocus()方法
public function drawFocus(isFocused:Boolean):void

当组件获得焦点时,由 FocusManager 调用。组件应该绘制或隐藏表示组件具有焦点的图形。

参数

isFocused:Boolean — 如果为 true,则绘制焦点指示符,否则隐藏它。

setFocus()方法 
public function setFocus():void

当组件获得焦点时,由 FocusManager 调用。同样,该组件可以将焦点设置给某个内部组件。