创建自定义焦点导航

当用户按 Tab 键在 Flash 应用程序中导航时,或在应用程序中单击时,FocusManager 类会确定接收焦点的组件。您不必在应用程序中添加 FocusManager 实例,也不必编写任何代码来激活 FocusManager。

如果 RadioButton 对象接收焦点,FocusManager 将检查该对象和具有相同 groupName 值的所有对象,然后将焦点设置在 selected 属性设为 true 的对象上。

每个模式 Window 组件都包含一个 FocusManager 的实例,以便该窗口上的控件形成它们自己的 Tab 键组,这样可以避免用户无意中按 Tab 键切换到其他窗口中的组件。

要在应用程序中创建焦点导航,请在应该接收焦点的所有组件(包括按钮)上设置 tabIndex 属性。当用户按 Tab 键时,FocusManager 类查找 tabIndex 属性值高于当前 tabIndex 值的已启用对象。FocusManager 类达到最高的 tabIndex 属性值后,会回到零。例如,在下面的范例中,comment 对象(可能为 TextArea 组件)首先接收焦点,然后 okButton 对象接收焦点:

comment.tabIndex = 1;
okButton.tabIndex = 2;

要创建在用户按 Enter 键 (Windows) 或 Return 键 (Macintosh) 时接收焦点的按钮,请将 FocusManager.defaultPushButton 属性设为所需按钮的实例名称,如下所示:

FocusManager.defaultPushButton = okButton;

FocusManager 类会覆盖默认的 Flash Player 焦点矩形,并绘制带圆角的自定义焦点矩形。