63. AutoComplete Part3. Текстовый компонент. Подключаем управление клавиатурой

В статье 57. AutoComplete Part1. Текстовый компонент. Автоматический поиск слов по шаблону мы разработали компонент который умеет отображать список слов по, введенному в текстовое поле, шаблону. В этой части серии, мы дополним этот компонент контроллером который позволяет управлять компонентом из клавиатуры. Для этого нам понадобится новый класс KeyController, который и будет содержать весь код управления с клавиатуры. Создайте этот класс в том же каталоге где и остальные классы компонента: ru/flashpress/input/. Вот как выглядит этот класс:


Для того что бы использовать этот класс, нам необходимо также подправить основной класс компонента ACInput:

Обратие внимание на строчки 157, 194, 205 и 213. В этих строчках мы изменили атрибут доступа private на internal. Методы с атрибутом доступа internal можно вызывать из других классов, при условии что эти классы находятся в том же каталоге что и сам класс ACInput. Т.к. у нас контроллер KeyController лежит в том же каталоге – он сможет вызывать эти методы.

Также в этом классе мы добавили новый метод AddController. Этот метод создает контроллер, в том случае если он еще не был создан.


Ну и основной класс приложения autoCompletePart3.as:

Собственно он ни чем не отличается от класса который мы создали в первой части серии, кроме строки 40, где мы сообщаем созданному компоненту о том, что надо подключить клавиатурный контроллер, с помощью метода AddController.


Вот что должно получится. Введите шаблон населенного пункта и управляйте выбором города с помощью клавиш стрелок вверх/вниз, подтвердить выбор – клавиша Enter, отменить и закрыть список – Escape.

Здесь должна быть флешка. Установите Flash Player

Скачать исходники можно здесь.

UPDATE: 1) Исправил косяк: в классе KeyController, строчку var keyCode:int = event.keyCode; поднял чуть выше. 2) В классе KeyController добавил новый код (строчки 206-209), для того что бы список скролился в момент управления с клавиатуры (спасибо Юрий Андрюшин за замечание).

Да прeбудет с вами Flash.
Serious Sam
Эту статью прочитали 1023 раз

Возникли вопросы по статье? Не стесняйтесь спрашивать в комментариях или любым другим способом на странице Контакты .

Присоединяйтесь к нам в социальных сетях: ВКонтакте , Twitter и Facebook
Понравилась статья? Буду благодарен если вы поделитесь ссылкой с друзьями:


Комментарии ВКонтакте:




Комментарии Facebook:




Комментарии WordPress: