包 | mx.managers |
接口 | public interface IFocusManager |
实现器 | FocusManager |
另请参见
属性 | 定义方 | ||
---|---|---|---|
defaultButton : IButton 对原始的默认 Button 控件的引用。 | IFocusManager | ||
defaultButtonEnabled : Boolean 一个标志,指示 FocusManager 是否应检查为激活默认按钮而要按下的 Enter 键。 | IFocusManager | ||
focusPane : Sprite 随着焦点在各容器之间移动的单个 Sprite。 | IFocusManager | ||
nextTabIndex : int [只读 (read-only)] 此 Tab 键循环中要用到的下一个唯一的 tab 索引。 | IFocusManager | ||
showFocusIndicator : Boolean 一个标志,指示是否显示用于指示组件具有焦点的指示符。 | IFocusManager |
方法 | 定义方 | ||
---|---|---|---|
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。 | IFocusManager | ||
向此焦点管理器添加 SWF 桥。 | IFocusManager | ||
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。 | IFocusManager | ||
返回包含给定对象(如果有)的 IFocusManagerComponent。 | IFocusManager | ||
获取当前具有焦点的 IFocusManagerComponent 组件。 | IFocusManager | ||
返回 IFocusManagerComponent,当用户按下 Tab 键导航到下一个组件时,它可以获取焦点。 | IFocusManager | ||
将 showFocusIndicator 设置为 false,并从具有焦点的对象(如果有)上删除可视的焦点指示符。 | IFocusManager | ||
将焦点从当前控件移至 Tab 键顺序中的上一个或下一个控件。 | IFocusManager | ||
删除焦点管理器。 | IFocusManager | ||
将焦点设置到 IFocusManagerComponent 组件。 | IFocusManager | ||
将 showFocusIndicator 设置为 true,并在具有焦点的对象(如果有)上绘制可视的焦点指示符。 | IFocusManager |
defaultButton | 属性 |
defaultButton:IButton
[读写]
对原始的默认 Button 控件的引用。当任何控件上有焦点时按 Enter 键可调度 Button 控件上的 click
事件,从而激活 Button 控件,效果与单击鼠标相同。如果将焦点授予了其它 Button 控件,却在当焦点不在按钮上时将焦点切换回原始控件,则默认 Button 控件实际上发生了更改。
此属性由 Flex 容器管理;请勿直接设置此属性来指定默认按钮。
defaultButton
必须属于 mx.controls.Button
类,即使此属性属于 IUIComponent
类型也不例外。
public function get defaultButton():IButton
public function set defaultButton(value:IButton):void
defaultButtonEnabled | 属性 |
defaultButtonEnabled:Boolean
[读写]
一个标志,指示 FocusManager 是否应检查为激活默认按钮而要按下的 Enter 键。TextArea 和希望识别 Enter
键的其它组件将此属性设置为 false
,以禁止 Enter 键调度默认按钮上的 click
事件(如果存在)。
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
focusPane | 属性 |
focusPane:Sprite
[读写] 随着焦点在各容器之间移动的单个 Sprite。Sprite 将作为用于指示组件具有焦点的可视指示符的父项。
public function get focusPane():Sprite
public function set focusPane(value:Sprite):void
nextTabIndex | 属性 |
nextTabIndex:int
[只读 (read-only)] 此 Tab 键循环中要用到的下一个唯一的 tab 索引。
public function get nextTabIndex():int
showFocusIndicator | 属性 |
showFocusIndicator:Boolean
[读写]
一个标志,指示是否显示用于指示组件具有焦点的指示符。如果为 true
,则获得焦点的组件将绘制一个可视指示符,指示它具有焦点。
默认为 false
,如果用户使用 Tab 键,则将其设为 true
。
通常情况下,最好使用 showFocus()
和 hideFocus()
方法更改此属性,因为这些方法还会更新用于指示组件具有焦点的可视指示符。
public function get showFocusIndicator():Boolean
public function set showFocusIndicator(value:Boolean):void
activate | () | 方法 |
public function activate():void
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。如果在具有已取消激活 FocusManager 的 IFocusManagerContainer 中单击鼠标,则 SystemManager 将对该 FocusManager 调用 activate()
方法。已激活的 FocusManager 将首先调用自身的 deactivate()
方法,然后再激活另一个 FocusManager。
addSWFBridge | () | 方法 |
public function addSWFBridge(bridge:IEventDispatcher, owner:DisplayObject):void
向此焦点管理器添加 SWF 桥。必须添加 SWF 桥,才能让焦点在其它沙箱中的焦点管理器之间或使用焦点管理器的不同版本进行无缝传递。
参数
bridge:IEventDispatcher — 通向另一个焦点管理器的桥。 | |
owner:DisplayObject — 拥有桥的显示对象。 |
deactivate | () | 方法 |
public function deactivate():void
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。如果在具有已取消激活 FocusManager 的 IFocusManagerContainer 中单击鼠标,则 SystemManager 将对该 FocusManager 调用 activate()
方法。已激活的 FocusManager 将首先调用自身的 deactivate()
方法,然后再激活另一个 FocusManager。
findFocusManagerComponent | () | 方法 |
public function findFocusManagerComponent(o:InteractiveObject):IFocusManagerComponent
返回包含给定对象(如果有)的 IFocusManagerComponent。因为播放器可以为 Flex 组件的子组件设置焦点,所以此方法可以从组件角度确定具有焦点的 IFocusManagerComponent。
参数
o:InteractiveObject — 具有 Flash Player 级别的焦点的对象。 |
IFocusManagerComponent —
包含 o 或 null 的 IFOcusManagerComponent
|
getFocus | () | 方法 |
public function getFocus():IFocusManagerComponent
获取当前具有焦点的 IFocusManagerComponent 组件。建议调用此方法而不要使用 Stage 对象,因为此方法可以指示哪个组件具有焦点。Stage 可能会返回该组件中的子组件。
返回IFocusManagerComponent — 具有焦点的 IFocusManagerComponent 对象。 |
getNextFocusManagerComponent | () | 方法 |
public function getNextFocusManagerComponent(backward:Boolean = false):IFocusManagerComponent
返回 IFocusManagerComponent,当用户按下 Tab 键导航到下一个组件时,它可以获取焦点。如果应用程序中不存在其它的有效组件,则会返回与当前具有焦点的组件相同的组件。
参数
backward:Boolean (default = false ) —
如果为 true ,则返回该对象,就像按下了 Shift-Tab 一样。
|
IFocusManagerComponent — 要接收焦点的组件。 |
hideFocus | () | 方法 |
public function hideFocus():void
将 showFocusIndicator
设置为 false
,并从具有焦点的对象(如果有)上删除可视的焦点指示符。
moveFocus | () | 方法 |
public function moveFocus(direction:String, fromDisplayObject:DisplayObject = null):void
将焦点从当前控件移至 Tab 键顺序中的上一个或下一个控件。移动的方向由 direction
参数指定。
参数
direction:String —
FocusRequestDirection.FORWARD 将焦点从当前具有焦点的控件移至选项卡索引较高的控件。如果多个控件的索引相同,则将访问文档流中的下一个控件。FocusRequestDirection.BACKWARD 将焦点移至选项卡索引较低的控件。FocusRequestDirection.TOP 将焦点移至选项卡索引最低的控件。如果多个控件的索引相同,则将焦点移至文档流中的第一个控件。FocusRequestDirection.BOTTOM 将焦点移至选项卡索引最高的控件。如果多个控件的索引相同,则将焦点移至文档流中的最后一个控件。
| |
fromDisplayObject:DisplayObject (default = null ) — 移动焦点的起始点。如果提供了对象,则此行为优先于从当前具有焦点的对象移动焦点这一默认行为。 |
removeSWFBridge | () | 方法 |
public function removeSWFBridge(bridge:IEventDispatcher):void
删除焦点管理器。在删除通过调用 addSWFBridge
添加的桥时必须调用此方法。
参数
bridge:IEventDispatcher — 要删除的桥。 |
setFocus | () | 方法 |
public function setFocus(o:IFocusManagerComponent):void
将焦点设置到 IFocusManagerComponent 组件。此方法不检查组件的可见性、启用状态或任何其它条件。
参数
o:IFocusManagerComponent — 一个可以接收焦点的组件。 |
showFocus | () | 方法 |
public function showFocus():void
将 showFocusIndicator
设置为 true
,并在具有焦点的对象(如果有)上绘制可视的焦点指示符。