Пакет | fl.managers |
Класс | public class FocusManager |
Наследование | FocusManager Object |
Реализует | IFocusManager |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Для передачи фокуса следующему объекту обычно используется клавиша Tab. Фокус перемещается между компонентами по кругу, с первого компонента до последнего, и затем возвращается назад к первому компоненту. В этот цикл входят все компоненты и компоненты с включенной табуляцией в контейнере. Приложение может содержать несколько циклов фокусов.
Экземпляр FocusManager отвечает за один цикл фокусов. Приложение использует различные экземпляры FocusManager для управления каждым циклом фокусов, несмотря на то что основное приложение всегда ассоциировано хотя бы с одним экземпляром FocusManager. Для приложения может потребоваться дополнительный экземпляр FocusManager, если он имеет вызываемые окна, например окна, которые отдельно имеют один или несколько циклов фокусов для компонентов.
Все компоненты, которые должны управляться экземпляром FocusManager, должны реализовать интерфейс fl.managers.IFocusManagerComponent. Для объекта, у которого фокус управляется проигрывателем Flash Player, не требуется реализации интерфейса IFocusManagerComponent.
Класс FocusManager также управляет реализацией кнопки по умолчанию. Если на форме нажата клавиша Enter, кнопка по умолчанию отправляет событие click
в зависимости от того, где расположен фокус в этот момент. Кнопка по умолчанию не отправляет событие click
, если фокус установлен в текстовом поле или если в компоненте редактируется значение, например в компонентах ComboBox или NumericStepper.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
defaultButton : Button
Определяет или задает текущую кнопку по умолчанию. | FocusManager | ||
defaultButtonEnabled : Boolean
Определяет или задает значение, указывающее, разрешена ли кнопка по умолчанию. | FocusManager | ||
form : DisplayObjectContainer
Базовый контейнер DisplayObjectContainer для объекта IFocusManager, обычно рабочая область. | FocusManager | ||
nextTabIndex : int [только для чтения]
Определяет следующий уникальный индекс при переходе с помощью клавиши Tab для использования в этом цикле табуляции. | FocusManager | ||
showFocusIndicator : Boolean
Определяет или задает значение, указывающее, должен ли компонент в фокусе выделяться визуальным индикатором фокуса. | FocusManager |
Метод | Определено | ||
---|---|---|---|
FocusManager(container:DisplayObjectContainer)
Создает новый экземпляр FocusManager. | FocusManager | ||
Активирует экземпляр FocusManager. | FocusManager | ||
Деактивирует FocusManager. | FocusManager | ||
Возвращает интерактивный объект, содержащий данный объект, если таковой существует. | FocusManager | ||
Определяет интерактивный объект, который в настоящий момент имеет фокус. | FocusManager | ||
Возвращает интерактивный объект, который получает фокус, когда пользователь нажимает клавишу TAB для перехода к следующему объекту. | FocusManager | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Задает свойству showFocusIndicator значение false и удаляет визуальный индикатор фокуса с объекта, имеющего фокус (если таковой существует). | FocusManager | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает фокус на компоненте IFocusManagerComponent. | FocusManager | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Присваивает свойству showFocusIndicator значение true и рисует визуальный индикатор фокуса на объекте, находящемся в фокусе (если таковой существует). | FocusManager | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | Object |
defaultButton | свойство |
defaultButton:Button
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Определяет или задает текущую кнопку по умолчанию.
Кнопка по умолчанию это кнопка на форме, которая отправляет событие click
при нажатии клавиши Enter, в зависимости от положения фокуса в данный момент.
Реализация
public function get defaultButton():Button
public function set defaultButton(value:Button):void
defaultButtonEnabled | свойство |
defaultButtonEnabled:Boolean
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Возвращает или устанавливает значение, указывающее, разрешена ли кнопка по умолчанию. Если данное свойство имеет значение true
то диспетчер фокуса следить за клавишей Enter. При нажатии клавиши Enter в то время, когда имеет фокус компонент, не являющийся компонентом Button, диспетчер фокуса отправляет событие click
на кнопку по умолчанию Если данное свойство имеет значение false
, то диспетчер фокуса не следит за клавишей Enter. Компонент, использующий клавишу Enter, устанавливает для данного свойства значение false
для предотвращения отправки события click
в кнопку по умолчанию, когда пользователь нажимает клавишу Enter.
Реализация
public function get defaultButtonEnabled():Boolean
public function set defaultButtonEnabled(value:Boolean):void
form | свойство |
form:DisplayObjectContainer
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9.0.28.0 |
Базовый контейнер DisplayObjectContainer для объекта IFocusManager, обычно рабочая область.
Реализация
public function get form():DisplayObjectContainer
public function set form(value:DisplayObjectContainer):void
nextTabIndex | свойство |
nextTabIndex:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Определяет следующий уникальный индекс при переходе с помощью клавиши Tab для использования в этом цикле табуляции.
Реализация
public function get nextTabIndex():int
showFocusIndicator | свойство |
showFocusIndicator:Boolean
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Определяет или задает значение, указывающее, должен ли компонент в фокусе выделяться визуальным индикатором фокуса.
Реализация
public function get showFocusIndicator():Boolean
public function set showFocusIndicator(value:Boolean):void
FocusManager | () | Конструктор |
public function FocusManager(container:DisplayObjectContainer)
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Создает новый экземпляр FocusManager.
Диспетчер фокуса управляет фокусом внутри дочернего объекта DisplayObjectContainer.
Параметрыcontainer:DisplayObjectContainer — DisplayObjectContainer, где размещается менеджер фокусов, или stage .
|
activate | () | метод |
public function activate():void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Активирует экземпляр FocusManager.
Экземпляр FocusManager добавляет обработчик событий, позволяющий наблюдать активность клавиатуры и мыши, связанную с фокусом.
deactivate | () | метод |
public function deactivate():void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Деактивирует FocusManager.
Экземпляр FocusManager удаляет обработчик событий, позволяющий наблюдать активность клавиатуры и мыши, связанную с фокусом.
findFocusManagerComponent | () | метод |
public function findFocusManagerComponent(component:InteractiveObject):InteractiveObject
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Возвращает интерактивный объект, содержащий данный объект, если таковой существует. Проигрыватель может установить фокус на подкомпонент компонента Flash. Данный метод определяет, какой интерактивный объект компонента имеет фокус с точки зрения компонента.
Параметры
component:InteractiveObject — Объект, который может иметь фокус уровня проигрывателя.
|
InteractiveObject — Объект, содержащий component . Если ни одного объекта не найдено, то сам component .
|
getFocus | () | метод |
public function getFocus():InteractiveObject
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Определяет интерактивный объект, который в настоящий момент имеет фокус. Adobe рекомендует вызывать данный метод вместо использования объекта Stage, потому что данный метод показывает, какой объект имеет фокус. Рабочая область может вернуть субкомпонент в этом компоненте.
ВозвращаетInteractiveObject — Интерактивный объект, который в настоящий момент имеет фокус.
|
getNextFocusManagerComponent | () | метод |
public function getNextFocusManagerComponent(backward:Boolean = false):InteractiveObject
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Возвращает интерактивный объект, который получает фокус, когда пользователь нажимает клавишу TAB для перехода к следующему объекту. Данный метод находит объект, который в настоящий момент имеет фокус, если в приложении нет других доступных объектов.
Параметры
backward:Boolean (default = false ) — Если этот параметр имеет значение true , фокус перемещается назад, в результате этот метод возвращает объект, который получит фокус следующим, если будут нажаты клавиши Shift+Tab.
|
InteractiveObject — Следующий компонент, которому будет передан фокус.
|
hideFocus | () | метод |
public function hideFocus():void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Задает для свойства showFocusIndicator
значение false
и удаляет визуальный индикатор фокуса с объекта, имеющего фокус (если такой существует).
setFocus | () | метод |
public function setFocus(component:InteractiveObject):void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Задает фокус на компоненте IFocusManagerComponent. Данный метод не проверяет видимость компонента, включенное состояние или любые другие условия.
Параметры
component:InteractiveObject — Объект, который может получить фокус.
|
showFocus | () | метод |
public function showFocus():void
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flash CS3 |
Версии среды выполнения: | Flash Player 9.0.28.0, AIR 1.0 |
Присваивает свойству showFocusIndicator
значение true
и рисует визуальный индикатор фокуса на объекте, находящемся в фокусе (если такой существует).
Чтобы применить этот пример на практике, выполните следующие действия.
- Добавьте компонент TextInput в библиотеку.
- Сохраните этот код под именем FocusManagerExample.as в том же каталоге, где и FLA-файл.
- Присвойте классу Document в FLA-файле значение FocusManagerExample.
package { import fl.controls.TextInput; import fl.managers.FocusManager; import flash.display.InteractiveObject; import flash.display.Sprite; import flash.events.*; import flash.utils.Timer; public class FocusManagerExample extends Sprite { private var fm:FocusManager; public function FocusManagerExample() { buildGridOfTextInputs(); fm = new FocusManager(this); var t:Timer = new Timer(1000); t.addEventListener(TimerEvent.TIMER,secondPassed); t.start(); } private function buildGridOfTextInputs():void { var rowSpacing:uint = 30; var colSpacing:uint = 110; var totalRows:uint = 4; var totalCols:uint = 3; var i:uint; for(i = 0; i < totalRows * totalCols; i++) { var ti:TextInput = new TextInput() ti.name = "component"+i.toString(); ti.addEventListener(FocusEvent.FOCUS_IN,focusChange); ti.setSize(100,20); ti.x = 10 + ((i % totalCols) * colSpacing); ti.y = 10 + (Math.floor(i / totalCols) * rowSpacing); ti.tabEnabled = true; addChild(ti); } } private function secondPassed(e:TimerEvent):void { var nextComponent:InteractiveObject = fm.getNextFocusManagerComponent(); fm.setFocus(nextComponent); } private function focusChange(e:FocusEvent):void { trace("Focus change: " + e.target.name); } } }
Tue Jun 12 2018, 11:34 AM Z