库里面导入ComboBox组件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import fl.controls.ComboBox; var wb_txt:TextField=new TextField(); addChild(wb_txt); wb_txt.text="选择的文字"; wb_txt.x=100; wb_txt.y=100; import fl.data.DataProvider;//定义组件用到的数组 var arr:Array=new Array(); arr.push({label:"选项1",data1:"选择的数据1"}); arr.push({label:"选项2",data1:"选择的数据2"}); arr.push({label:"选项3",data1:"选择的数据3"}); arr.push({label:"选项4",data1:"选择的数据4"}); arr.push({label:"选项5",data1:"选择的数据5"}); arr.push({label:"选项6",data1:"选择的数据6"}); arr.push({label:"选项7",data1:"选择的数据7"}); //另一种添加数据的方法 /*ComboBox1.addItem({label:"选项1",data1:"数据1"}); ComboBox1.addItem({label:"选项2",data1:"数据2"}); ComboBox1.addItem({label:"选项3",data1:"数据3"}); ComboBox1.addItem({label:"选项4",data1:"数据4"}); ComboBox1.addItem({label:"选项5",data1:"数据5"}); ComboBox1.addItem({label:"选项6",data1:"数据6"}); ComboBox1.addItem({label:"选项7",data1:"数据7"}); ComboBox1.addItem({label:"选项8",data1:"数据8"}); ComboBox1.addItem({label:"选项9",data1:"数据9"}); ComboBox1.addItem({label:"选项10",data1:"数据10"}); ComboBox1.addItem({label:"选项11",data1:"数据11"}); ComboBox1.addItem({label:"选项12",data1:"数据12"}); //用这种办法之后,下面的ComboBox1.dataProvider=new DataProvider(arr);这句就要去掉 */ var ComboBox1:ComboBox=new ComboBox(); addChild(ComboBox1); ComboBox1.dataProvider=new DataProvider(arr);//下拉框的标签和数据 ComboBox1.x=300; ComboBox1.y=100; ComboBox1.editable=false;//true允许用户在下拉框中输入数据,false不允许 ComboBox1.prompt="这是选项";//下拉框一开始就显示的文字,如果不写,那最开始显示的就是第一项 ComboBox1.restrict="23";//允许用户自己输入数据之后,限制用户只能输入这些字符,比如这里是限制只能输入2和3 ComboBox1.rowCount=5;//下拉框显示的最大行数 ComboBox1.addEventListener(Event.CHANGE,changeFun); function changeFun(e:Event) { wb_txt.text=ComboBox1.selectedItem.data1; } /* Event.CHANGE:用户单击组件中的一个选项时发生的事件。 Event.ENTER:用户在组件的文本输入框中输入值以后按 Enter 键时发生的事件。 Event.ITEM_ROLL_OUT:鼠标移出在组件中单元格时发生的事件。 Event.ITEM_ROLL_OVER:鼠标移入在组件中单元格时发生的事件。 */ |
效果: