包 | mx.managers |
类 | public class FocusManager |
继承 | FocusManager EventDispatcher Object |
实现 | IFocusManager |
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
FocusManager 管理“组件级别”的焦点。在 Flex 中,只有组件中的 UITextField 允许使用键盘输入文本。对于 Flash Player 或 AIR,该 UITextField 具有焦点。然而,从 FocusManager 的角度来说,具有焦点的却是作为 UITextField 的父项的组件。因此,组件级别的焦点与播放器级别的焦点是不同的。应用程序开发人员一般只需要处理组件级别的焦点,而组件开发人员则必须通晓播放器级别的焦点。
可以由 FocusManager 管理的所有组件都必须实现 mx.managers.IFocusManagerComponent,但由播放器级别的焦点管理的对象则不必实现。
FocusManager 还可以管理 defaultButton 的概念,这是表单上的一个 Button,用于在按下 Enter 键时根据焦点当时所在的位置调度 click 事件。
属性 | 由以下参数定义 | ||
---|---|---|---|
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
defaultButton : IButton
对原始的默认 Button 控件的引用。 | FocusManager | ||
defaultButtonEnabled : Boolean
一个标志,指示 FocusManager 是否应检查为激活默认按钮而要按下的 Enter 键。 | FocusManager | ||
focusPane : Sprite
随着焦点在各容器之间移动的单个 Sprite。 | FocusManager | ||
nextTabIndex : int [只读]
此 Tab 键循环中要用到的下一个唯一的 tab 索引。 | FocusManager | ||
showFocusIndicator : Boolean
一个标志,指示是否显示用于指示组件具有焦点的指示符。 | FocusManager |
方法 | 由以下参数定义 | ||
---|---|---|---|
构造函数。 | FocusManager | ||
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。 | FocusManager | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | ||
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。 | FocusManager | ||
将事件调度到事件流中。 | EventDispatcher | ||
返回包含给定对象(如果有)的 IFocusManagerComponent。 | FocusManager | ||
获取当前具有焦点的 IFocusManagerComponent 组件。 | FocusManager | ||
返回 IFocusManagerComponent,当用户按下 Tab 键导航到下一个组件时,它可以获取焦点。 | FocusManager | ||
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | ||
表示对象是否已经定义了指定的属性。 | Object | ||
将 showFocusIndicator 设置为 false,并从具有焦点的对象(如果有)上删除可视的焦点指示符。 | FocusManager | ||
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
表示指定的属性是否存在、是否可枚举。 | Object | ||
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | ||
将焦点设置到 IFocusManagerComponent 组件。 | FocusManager | ||
设置循环操作动态属性的可用性。 | Object | ||
将 showFocusIndicator 设置为 true,并在具有焦点的对象(如果有)上绘制可视的焦点指示符。 | FocusManager | ||
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | ||
[覆盖]
返回承载 FocusManager 对象的组件的字符串表示形式,并在该字符串末尾追加字符串“.focusManager”。 | FocusManager | ||
返回指定对象的原始值。 | Object | ||
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher |
defaultButton | 属性 |
defaultButton:IButton
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
对原始的默认 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
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
一个标志,指示 FocusManager 是否应检查为激活默认按钮而要按下的 Enter 键。TextArea 和希望识别 Enter
键的其他组件将此属性设置为 false
,以禁止 Enter 键调度默认按钮上的 click
事件(如果存在)。
实现
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
focusPane | 属性 |
nextTabIndex | 属性 |
showFocusIndicator | 属性 |
showFocusIndicator:Boolean
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
一个标志,指示是否显示用于指示组件具有焦点的指示符。如果为 true
,则获得焦点的组件将绘制一个可视指示符,指示它具有焦点。
默认为 false
,如果用户使用 Tab 键,则将其设为 true
。
通常情况下,最好使用 showFocus()
和 hideFocus()
方法更改此属性,因为这些方法还会更新用于指示组件具有焦点的可视指示符。
实现
public function get showFocusIndicator():Boolean
public function set showFocusIndicator(value:Boolean):void
FocusManager | () | 构造函数 |
public function FocusManager(container:IFocusManagerContainer, popup:Boolean = false)
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
构造函数。
FocusManager 管理 IFocusManagerContainer 的子项内的焦点。它会在执行构造函数期间在 IFocusManagerContainer 中自行安装。
参数container:IFocusManagerContainer — 承载 FocusManager 的 IFocusManagerContainer。
| |
popup:Boolean (default = false ) — 如果为 true ,则表明该容器是一个弹出组件,而不是主应用程序。
|
activate | () | 方法 |
public function activate():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。如果在具有已取消激活 FocusManager 的 IFocusManagerContainer 中单击鼠标,则 SystemManager 将对该 FocusManager 调用 activate()
方法。已激活的 FocusManager 将首先调用自身的 deactivate()
方法,然后再激活另一个 FocusManager。
FocusManager 可以添加允许其监视与焦点相关的键盘和鼠标活动的事件处理程序。
deactivate | () | 方法 |
public function deactivate():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
如果同时有多个 IFocusManagerContainer 可见,则 SystemManager 将激活 FocusManager,然后取消激活。如果在具有已取消激活 FocusManager 的 IFocusManagerContainer 中单击鼠标,则 SystemManager 将对该 FocusManager 调用 activate()
方法。已激活的 FocusManager 将首先调用自身的 deactivate()
方法,然后再激活另一个 FocusManager。
FocusManager 可以删除允许其监视与焦点相关的键盘和鼠标活动的事件处理程序。
findFocusManagerComponent | () | 方法 |
public function findFocusManagerComponent(o:InteractiveObject):IFocusManagerComponent
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
返回包含给定对象(如果有)的 IFocusManagerComponent。因为播放器可以为 Flex 组件的子组件设置焦点,所以此方法可以从组件角度确定具有焦点的 IFocusManagerComponent。
参数
o:InteractiveObject — 具有 Flash Player 级别的焦点的对象。
|
IFocusManagerComponent — 包含 o 或 null 的 IFOcusManagerComponent
|
getFocus | () | 方法 |
public function getFocus():IFocusManagerComponent
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
获取当前具有焦点的 IFocusManagerComponent 组件。建议调用此方法而不要使用 Stage 对象,因为此方法可以指示哪个组件具有焦点。Stage 可能会返回该组件中的子组件。
返回IFocusManagerComponent — 具有焦点的 IFocusManagerComponent 对象。
|
getNextFocusManagerComponent | () | 方法 |
public function getNextFocusManagerComponent(backward:Boolean = false):IFocusManagerComponent
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
返回 IFocusManagerComponent,当用户按下 Tab 键导航到下一个组件时,它可以获取焦点。如果应用程序中不存在其他的有效组件,则会返回与当前具有焦点的组件相同的组件。
参数
backward:Boolean (default = false ) — 如果为 true ,则返回该对象,就像按下了 Shift-Tab 一样。
|
IFocusManagerComponent — 要获得焦点的组件。
|
hideFocus | () | 方法 |
public function hideFocus():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
将 showFocusIndicator
设置为 false
,并从具有焦点的对象(如果有)上删除可视的焦点指示符。
setFocus | () | 方法 |
public function setFocus(o:IFocusManagerComponent):void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
将焦点设置到 IFocusManagerComponent 组件。此方法不检查组件的可见性、启用状态或任何其他条件。
参数
o:IFocusManagerComponent — 一个可以获得焦点的组件。
|
showFocus | () | 方法 |
public function showFocus():void
语言版本: | ActionScript 3.0 |
产品版本: | Flex 3 |
运行时版本: | Flash Player 9, AIR 1.1 |
将 showFocusIndicator
设置为 true
,并在具有焦点的对象(如果有)上绘制可视的焦点指示符。
toString | () | 方法 |
Tue Jun 12 2018, 11:04 AM Z