使用 ActionScript 3.0 组件 |
|
|
|
| 使用 UI 组件 > 使用 ComboBox 组件 > 创建具有 ComboBox 组件的应用程序 | |||
以下过程解释了如何在创作时将 ComboBox 组件添加到应用程序。该 ComboBox 是可编辑的,如果您在文本字段中键入 Add,则示例会将该项添加到下拉列表中。
创建具有 ComboBox 组件的应用程序:editable 参数设置为 true。import fl.data.DataProvider;import fl.events.ComponentEvent;var items:Array = [{label:"screen1", data:"screenData1"},{label:"screen2", data:"screenData2"},{label:"screen3", data:"screenData3"},{label:"screen4", data:"screenData4"},{label:"screen5", data:"screenData5"},];aCb.dataProvider = new DataProvider(items);aCb.addEventListener(ComponentEvent.ENTER, onAddItem);function onAddItem(event:ComponentEvent):void {var newRow:int = 0;if (event.target.text == "Add") {newRow = event.target.length + 1;event.target.addItemAt({label:"screen" + newRow, data:"screenData" + newRow},event.target.length);}}
以下示例用 ActionScript 创建一个 ComboBox 组件,并用加利福尼亚州旧金山地区的大学列表进行填充。该示例根据提示文本的宽来设置 ComboBox 的 width 属性,并将 dropdownWidth 属性设置得稍宽一些,以容纳最长的大学名称。
该示例在 Array 实例中创建一个大学列表,使用 label 属性来存储学校名称,并使用 data 属性来存储每个学校网站的 URL。然后,通过设置 ComboBox 的 dataProvider 属性将该 Array 分配给 ComboBox。
当用户从列表中选择大学时,将触发 Event.CHANGE 事件,并调用 changeHandler() 函数,该函数将 data 属性加载到 URL 请求中,以访问学校的网站。
请注意,最后一行将 ComboBox 实例的 selectedIndex 属性设置为 -1,以便在列表关闭时重新显示提示。否则,将显示所选择的学校名称而不是提示。
使用 ActionScript 创建 ComboBox 组件:
import fl.controls.ComboBox;
import fl.data.DataProvider;
import flash.net.navigateToURL;
var sfUniversities:Array = new Array(
{label:"University of California, Berkeley",
data:"http://www.berkeley.edu/"},
{label:"University of San Francisco",
data:"http://www.usfca.edu/"},
{label:"San Francisco State University",
data:"http://www.sfsu.edu/"},
{label:"California State University, East Bay",
data:"http://www.csuhayward.edu/"},
{label:"Stanford University", data:"http://www.stanford.edu/"},
{label:"University of Santa Clara", data:"http://www.scu.edu/"},
{label:"San Jose State University", data:"http://www.sjsu.edu/"}
);
var aCb:ComboBox = new ComboBox();
aCb.dropdownWidth = 210;
aCb.width = 200;
aCb.move(150, 50);
aCb.prompt = "San Francisco Area Universities";
aCb.dataProvider = new DataProvider(sfUniversities);
aCb.addEventListener(Event.CHANGE, changeHandler);
addChild(aCb);
function changeHandler(event:Event):void {
var request:URLRequest = new URLRequest();
request.url = ComboBox(event.target).selectedItem.data;
navigateToURL(request);
aCb.selectedIndex = -1;
}
您可以在 Flash 创作环境中实现并运行此示例,但如果您试图通过单击 ComboBox 中的项来访问大学网站,则会显示警告消息。若要在 Internet 上访问功能齐全的 ComboBox,请访问以下网址:
http://www.helpexamples.com/peter/bayAreaColleges/bayAreaColleges.html
|
|
|
|