Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
fl.managers 

FocusManager  - AS3 Flash

Пакетfl.managers
Классpublic class FocusManager
НаследованиеFocusManager Inheritance Object
Реализует IFocusManager

Язык версии: ActionScript 3.0
Версия продукта: Flash CS3
Версии среды выполнения: Flash Player 9.0.28.0, AIR 1.0

Класс FocusManager управляет фокусом для набора компонентов, по которым можно перемещаться с помощью мыши или клавиатуры в цикле фокусов.

Для передачи фокуса следующему объекту обычно используется клавиша Tab. Фокус перемещается между компонентами по кругу, с первого компонента до последнего, и затем возвращается назад к первому компоненту. В этот цикл входят все компоненты и компоненты с включенной табуляцией в контейнере. Приложение может содержать несколько циклов фокусов.

Экземпляр FocusManager отвечает за один цикл фокусов. Приложение использует различные экземпляры FocusManager для управления каждым циклом фокусов, несмотря на то что основное приложение всегда ассоциировано хотя бы с одним экземпляром FocusManager. Для приложения может потребоваться дополнительный экземпляр FocusManager, если он имеет вызываемые окна, например окна, которые отдельно имеют один или несколько циклов фокусов для компонентов.

Все компоненты, которые должны управляться экземпляром FocusManager, должны реализовать интерфейс fl.managers.IFocusManagerComponent. Для объекта, у которого фокус управляется проигрывателем Flash Player, не требуется реализации интерфейса IFocusManagerComponent.

Класс FocusManager также управляет реализацией кнопки по умолчанию. Если на форме нажата клавиша Enter, кнопка по умолчанию отправляет событие click в зависимости от того, где расположен фокус в этот момент. Кнопка по умолчанию не отправляет событие click, если фокус установлен в текстовом поле или если в компоненте редактируется значение, например в компонентах ComboBox или NumericStepper.

Посмотреть примеры

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  defaultButton : Button
Определяет или задает текущую кнопку по умолчанию.
FocusManager
  defaultButtonEnabled : Boolean
Определяет или задает значение, указывающее, разрешена ли кнопка по умолчанию.
FocusManager
  form : DisplayObjectContainer
Базовый контейнер DisplayObjectContainer для объекта IFocusManager, обычно рабочая область.
FocusManager
  nextTabIndex : int
[только для чтения] Определяет следующий уникальный индекс при переходе с помощью клавиши Tab для использования в этом цикле табуляции.
FocusManager
  showFocusIndicator : Boolean
Определяет или задает значение, указывающее, должен ли компонент в фокусе выделяться визуальным индикатором фокуса.
FocusManager
Общедоступные методы
 МетодОпределено
  
Создает новый экземпляр FocusManager.
FocusManager
  
Активирует экземпляр FocusManager.
FocusManager
  
Деактивирует FocusManager.
FocusManager
  
Возвращает интерактивный объект, содержащий данный объект, если таковой существует.
FocusManager
  
Определяет интерактивный объект, который в настоящий момент имеет фокус.
FocusManager
  
Возвращает интерактивный объект, который получает фокус, когда пользователь нажимает клавишу TAB для перехода к следующему объекту.
FocusManager
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
  
Задает свойству showFocusIndicator значение false и удаляет визуальный индикатор фокуса с объекта, имеющего фокус (если таковой существует).
FocusManager
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
Задает фокус на компоненте IFocusManagerComponent.
FocusManager
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
Присваивает свойству showFocusIndicator значение true и рисует визуальный индикатор фокуса на объекте, находящемся в фокусе (если таковой существует).
FocusManager
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
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 и рисует визуальный индикатор фокуса на объекте, находящемся в фокусе (если такой существует).

FocusManagerExample.as

Данный пример показывает, как использовать класс FocusManager для изменения фокуса между компонентами на рабочей области.

Чтобы применить этот пример на практике, выполните следующие действия.

  1. Добавьте компонент TextInput в библиотеку.
  2. Сохраните этот код под именем FocusManagerExample.as в том же каталоге, где и FLA-файл.
  3. Присвойте классу 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);
        }
    }
}




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.