admin 管理员组

文章数量: 1086019


2024年3月9日发(作者:oracle监听服务无法启动)

ActionScript编程 使用下拉列表组件

作用:

下拉列表(ComboBox)组件允许用户从下拉列表中进行单项选择。

说明:

ComboBox组件包含一个下拉列表,用户可以从该列表中选择单个选项。其功能与HTML中的SELECT表单元素的功能相似。ComboBox组件可以是可编辑的,在这种情况下,用户可以在该组件的TextInput部分添加不在列表中的项目。

创建ComboBox组件实例的方法如下所示。

import ox;

//导入ComboBox类

var comboBox:ComboBox = new ComboBox();

ComboBox组件实例的部分属性与TileList组件实例相同,其它属性详细介绍如下。

 dropdown 获取对ComboBox组件所包含的List组件的引用。直到必须显示List子组件时才会在ComboBox内将其实例化。但是,访问dropdown属性时会创建列表。

 dropdownWidth 获取或设置下拉列表的最大宽度,以像素为单位。此属性的默认值为ComboBox组件的宽度(TextInput实例的宽度加上BaseButton实例的宽度)。默认值为100。

 editable 获取或设置一个布尔值,该值指示ComboBox组件为可编辑还是只读。如果为true,表示ComboBox组件可编辑;否则表示不可编辑。

length 获取列表中的项目数。此属性属于List组件,但是不能从ComboBox实例进行访问。默认值为0。

prompt 获取或设置对ComboBox组件的提示。该提示是一个字符串,当selectedIndex为-1时,会显示在ComboBox的TextInput部分中。如果未设置提示,则ComboBox组件将selectedIndex属性设置为0并在dataProvider属性中显示第一个项目。默认值为“”。

restrict 获取或设置用户可以在文本字段中输入的字符。

selectedIndex 获取或设置单选列表中的选定项目的索引。单选列表是一次只能从中选择一个项目的列表。值为-1指示未选择任何项目;如果选择了多项,则该值等于所选的一组项目中最后一个选定项目的索引。默认值为0。

 selectedItem 获取或设置下拉列表中所选项目的值。如果用户在可编辑 ComboBox组件的文本框中输入文本,则selectedItem属性为undefined。只有当用户手动或使用ActionScript从下拉框中选择一个项目时,此属性才具有值。默认值为 null。

如果ComboBox组件不可编辑,则selectedItem属性值始终有效。如果可编辑ComboBox组件的下拉列表中不存在任何项目,则此属性值为null。

selectedLabel 获取显示在ComboBox组件的TextInput部分中的字符串。该值可通过使用labelField或labelFunction属性由数据计算得出。

text 获取或设置可编辑ComboBox组件中文本框所包含的文本。对于不可编辑的ComboBox组件,该值为只读。默认值为“”。

textField 获取对ComboBox组件所包含的TextInput组件的引用。使用该属性访问并操作基础TextInput组件。例如,可以使用此属性更改文本框的选定内容或者限制可以在文本框中输入的字符。

 value 获取可编辑ComboBox组件中的项目的标签。对于不可编辑的ComboBox组件,该属性获取项目所包含的数据。

ComboBox组件实例包含有以下多个方法,用于实现创建新的实例、添加项目、关闭下拉列表等功能,详细介绍如下所示。

ComboBox () 创建新的ComboBox组件实例。

addItem() 向项目列表的末尾追加项目。该方法包含一个item参数,表示要添加到数据提供者的项目。

addItemAt() 在指定索引位置处将项目插入列表。位于指定索引位置处或之后的项目的索引将增加 1。该方法包含item和index两个参数,前者要添加到列表的项目,后者表示要添加项目处的索引。

close() 关闭下拉列表。注意,调用此方法将导致close事件被触发。如果ComboBox已关闭,则调用该方法无效。

getItemAt() 检索指定索引处的项目。该方法包含一个index参数,表示要检索的项目的索引。

getStyleDefinition() 检索当前组件的默认样式映射。

itemToLabel() 基于labelField和labelFunction属性检索渲染器将为给定数据对象显示的字符串。该方法包含一个item参数,表示要呈现的对象。

open() 打开下拉列表。注意,调用此方法将导致open事件被调度。如果ComboBox组件已打开,则调用该方法无效。

removeAll() 删除列表中的所有项目。

removeItem() 从列表中删除指定项目。该方法包含一个item参数,表示要删除的项目。

removeItemAt() 删除指定索引位置处的项目。索引大于指定索引的项目的索引位置在数组中提前1。这是List组件的一个方法,可以从ComboBox组件的实例中获得。该方法包含一个item参数,表示要删除的项目。

 replaceItemAt() 用其它项目替换指定索引位置处的项目。该方法会修改List组件的数据提供者。如果与其它组件共享数据提供者,则向这些组件提供的数据也会更新。该方法包含item和index两个参数,前者要添加到列表的项目,后者表示要添加项目处的索引。

sortItems () 对当前数据提供者的元素进行排序。该方法将基于元素的Unicode值执行排序。

sortItemsOn() 以当前数据提供者的一个或多个字段为依据对其元素进行排序。该方法包含field和options两个参数,前者表示要依据其进行排序的字段,后者用于覆盖默认排序行为的排序参数。 使用按位 OR (|)

运算符分隔两个或更多参数。

ComboBox组件实例可以触发以下7种事件:

change 当用户更改ComboBox组件中的选定内容时触发,或者如果ComboBox组件可编辑,每当用户在文本字段中键入时触发。

close 当因任何原因而取消下拉列表时触发。

enter 当editable 属性设置为true,并且用户在可编辑文本字段中键入

时按下Enter键时触发。

itemRollOut 定义itemRollOut事件对象的type属性值。

itemRollOver 定义itemRollOver事件对象的type属性值。

open 当用户单击下拉按钮以显示下拉列表时触发。

 scroll 当用户滚动ComboBox组件的下拉列表时触发。

在可编辑的ComboBox中,只有按钮是点击区域,文本框不是。对于静态ComboBox,按钮和文本框一起级成点击区域。点击区域通过打开或关闭下拉列表来做出响应。

示例:

创建一个名称为comboBox的下拉列表,该列表中包含有4个季节名称的选项。当用户选择其中一个选项时,将会触发事件,通过调用seasonSelected()函数,将选择的结果显示在文本字段中,如下所示。

import eld;

import ;

import ox;

//导入所需的类

var comboBox:ComboBox = new ComboBox();

m({label:"选择季节",data:0,value:""});

m({label:"春季",data:1,value:"春季"});

m({label:"夏季",data:2,value:"夏季"});

m({label:"秋季",data:3,value:"秋季"});

m({label:"冬季",data:4,value:"冬季"});

e(100,22);

addChild(comboBox);

ntListener(, seasonSelected);

var field:TextField = new TextField();

field.x = 180;

ze = ;

addChild(field);

function seasonSelected(event:Event):void {

="您最喜欢的季节:";

Text();

}


本文标签: 组件 项目 列表 属性 方法