Статьи

Краткое введение: компоненты Flash ComboBox и DataGrid

В этом кратком совете по компонентам Flash Professional мы рассмотрим ComboBox и DataGrid.


В демонстрационном SWF вы увидите ComboBox и DataGrid. Выбор состояния в ComboBox приведет к тому, что метка отобразит население этого состояния и загрузит его флаг. Выбор строки в DataGrid приведет к переходу на выбранный сайт.


Откройте новый Flash-документ и установите следующие свойства.

  • Размер документа: 550×400 пикселей
  • Цвет фона: #FFFFFF (белый)

Откройте окно компонентов, выбрав « Окно»> «Компоненты» или нажав CTRL + F7.

Перетащите ComboBox, DataGrid и две метки на сцену.

На панели «Свойства» присвойте ComboBox имя экземпляра «StatesCombo».

Если панель свойств не отображается, перейдите в « Окно»> «Компоненты» или нажмите CTRL + F3.

Установите ComboBox X на 20,00, а Y на 39,00

На панели «Свойства» присвойте DataGrid имя экземпляра «sitesDG».

Установите DataGrids X на 20,00, а его Y на 236,00.

На панели «Свойства» присвойте первой метке имя экземпляра «StatesLabel».

Установите X метки на 200,00, а Y на 39,00.

На панели «Свойства» присвойте второй метке имя экземпляра «sitesLabel».

Установите X этого ярлыка на 20,00, а его Y на 209,00.


Создайте новый файл ActionScript и дайте ему имя Main.as

Мы будем объявлять наши компоненты в Main.as, поэтому нам нужно отключить автоматическое объявление экземпляров stage; Преимущество этого состоит в том, что вы получите подсказку кода для экземпляра.

Перейдите в Файл> Настройки публикации

Нажмите «Настройки» рядом с «Сценарий [Actionscript 3.0]».

Снимите флажок «Автоматически объявлять экземпляры сцены».

В Main.as откройте объявление пакета и импортируйте классы, которые мы будем использовать

Добавьте следующее в Main.as.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
package {
     
    import flash.display.MovieClip;
    //needed to display images
    import flash.display.Loader;
    //our onstage Components
    import fl.data.DataProvider;
    import fl.controls.ComboBox;
    import fl.controls.Label;
    import fl.controls.DataGrid;
    import flash.events.Event;
    //needed to autosize textfields
    import flash.text.TextFieldAutoSize;
    import flash.net.URLRequest;
    import flash.net.navigateToURL;

Добавьте само объявление класса, расширьте MovieClip и настройте нашу функцию конструктора. Более подробная информация о классах документов доступна здесь .

Добавьте следующее в Main.as.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
public class Main extends MovieClip{
         
    public var statesCombo:ComboBox;
    public var statesLabel:Label;
    public var sitesDG:DataGrid;
    public var sitesLabel:Label;
     
    var comboDP:DataProvider;
    var DataGridDP:DataProvider;
     
    var flagLoader:Loader;
     
    public function Main() {
        setupComboDP();
        setupDataGridDP();
        setupStatesCombo();
        setupLabels();
        setupSitesDataGrid();
             
    }

Здесь мы определяем функции setupComboDP, setupDataGridDP, setupStatesCombo, setupLabels и setupSitesDataGrid.

Поставщики данных предоставляют простой способ настройки данных, предоставляемых компонентам.

В setupStatesCombo мы также добавляем на сцену загрузчик для загрузки изображений флагов; мы могли бы определить отдельную функцию для настройки загрузчика, но здесь мы просто делаем это внутри этой функции.

Добавьте следующее в Main.as.

1
private function setupComboDP():void{ comboDP = new DataProvider();

Здесь мы кодируем наших слушателей событий.

Мы получаем метку выбранного элемента и показываем население для соответствующего штата.

Мы загружаем соответствующее изображение, конвертируя selectedItem (состояние) в нижний регистр и добавляя к нему «.jpg».

Добавьте следующее в Main.as.

01
02
03
04
05
06
07
08
09
10
11
12
13
14
        public function loadData(e:Event):void {
            //Get the selectedItems Label eg «Alabama»
            //Load a relevent .jpg eg «alabama.jpg» we convert the selected item (state) to lowercase
            statesLabel.text = e.target.selectedItem.Label + «‘s population is » + e.target.selectedItem.population;
            flagLoader.load(new URLRequest(«flagsLarge/»+e.target.selectedItem.Label.toLowerCase()+».jpg»));
        }
                     
        public function gotoSite(e:Event):void{
            navigateToURL(new URLRequest(e.target.selectedItem.address));
 
        }
    }//Close out the class
     
}//Close out the package

Использование компонентов ComboBox и DataGrid — это хороший способ отобразить список данных на выбор.

На панели параметров компонентов вы увидите, что вы можете проверить и выбрать определенные свойства.

Изображение выше для компонента ComboBox.

Свойства следующие для компонента ComboBox.

  • dataProvider : модель данных списка элементов для просмотра
  • editable : логическое значение, которое указывает, является ли компонент ComboBox редактируемым или доступным только для чтения
  • enabled : логическое значение, которое указывает, может ли компонент принимать пользовательский ввод
  • prompt : подсказка для компонента ComboBox.
  • ограничение : символы, которые пользователь может ввести в текстовое поле.
  • rowCount : максимальное количество строк, которые могут появиться в раскрывающемся списке без полосы прокрутки.
  • visible : логическое значение, которое указывает, является ли экземпляр компонента видимым

Свойства для DataGrid следующие.

  • allowMultipleSelection : логическое значение, указывающее, можно ли одновременно выбрать несколько элементов списка.
  • editable : логическое значение, которое указывает, является ли компонент DataGrid редактируемым или доступным только для чтения
  • headerHeight : высота заголовка DataGrid в пикселях.
  • horizontalLineScrollSize : «значение, которое описывает объем содержимого, которое будет прокручиваться по горизонтали при нажатии стрелки прокрутки.
  • horizontalPageScrollSize : устанавливает количество пикселей, на которое можно перемещать большой палец прокрутки на горизонтальной полосе прокрутки при нажатии дорожки полосы прокрутки.
  • horizontalScrollPolicy : логическое значение, которое указывает, всегда ли включена горизонтальная полоса прокрутки.
  • resizableColumns : указывает, может ли пользователь изменять размер столбцов.
  • rowHeight : высота каждой строки в компоненте DataGrid в пикселях.
  • showHeaders : логическое значение, которое указывает, показывает ли компонент DataGrid заголовки столбцов.
  • sortableColums : указывает, может ли пользователь сортировать элементы в поставщике данных, щелкнув ячейку заголовка столбца.
  • verticalLineScrollSize : значение, которое описывает количество пикселей для вертикальной прокрутки при нажатии стрелки прокрутки.
  • verticalPageScrollSize : количество пикселей, на которое можно перемещать большой палец прокрутки на вертикальной полосе прокрутки при нажатии дорожки полосы прокрутки.
  • verticalScrollPolicy : значение, которое указывает состояние вертикальной полосы прокрутки

Файлы справки — отличное место, чтобы узнать больше об этих свойствах.

Чтобы узнать больше о свойствах ярлыков, обязательно ознакомьтесь с кратким советом по компонентам «Кнопка» и «Ярлык» .

Чтобы узнать, как загрузить DataGrid из XML-файла, ознакомьтесь с моим руководством по Datgrid с XML .

Еще раз спасибо http://www.state-flags-usa.com за предоставленную мне возможность использовать их изображения флагов. И спасибо вам за то, что вы читаете — ищите больше представлений о компонентах!