2016 - 2024

感恩一路有你

使用Flash组件创建单选按钮CheckBox

浏览量:3678 时间:2024-08-15 08:55:03 作者:采采

首先我们新建一个空白文档,在文档上方写上“年龄选择”几个字。

其次我们按下Ctrl F7,打开组件面板,拖一个CheckBox控件到库里。

动态创建单选组件

新建一个文档类,我们输入以下代码,旨在先动态创建我们需要数量的单选组件在舞台上。

```actionscript

package{

import flash.display.Sprite;

import ;

/

* CheckBox组件测试使用

* @author Tiger

* 2012/3/16 15:05

*/

public class TextCheckBox extends Sprite{

private var ageList:Array ["小于18岁", "18岁至28岁", "29岁至39岁", "40岁至50岁", "50岁至60岁", "60岁以上"];

private var checkList:Array [];

public function TextCheckBox(){

createCheckList();

}

private function createCheckList():void{

var len:int ageList.length;

for (var i:int 0; i < len; i ){

var mCB:CheckBox new CheckBox();

ageList[i];

mCB.x 210;

mCB.y 80 i * (mCB.height 10);

(mCB);

checkList[i] mCB;

}

}

}

}

```

写完这段函数并将文档类关联到文件属性面板上,发布测试,你便会发现舞台上已经有了几个显示年龄的控件,只是这个时候控件是可以多选的。

实现单选功能

一个人的年龄只可能满足上面的某一个条件,不可能同时满足,所以说我们要给这些组件添加选中事件处理,选中某一个时,同时取消别的被选项目,继续晚上创建函数如下:

```actionscript

private function createCheckList():void{

var len:int ageList.length;

for (var i:int 0; i < len; i ){

var mCB:CheckBox new CheckBox();

ageList[i];

mCB.x 210;

mCB.y 80 i * (mCB.height 10);

(, selectCBHandler);

(mCB);

checkList[i] mCB;

}

}

private function selectCBHandler(e:Event):void{

var mCB:CheckBox as CheckBox;

var len:int checkList.length;

for (var i:int 0; i < len; i ){

if (checkList[i] mCB) continue;

checkList[i].selected false;

}

}

```

再次发布测试,此时我们可以实现单选了。

美化单选按钮

现在的问题是,我们单选了某个年龄,但是没有任何地方显示出来单选的内容提示,同时单选按钮鼠标移上去没有鼠标手出现,而且单选按钮的文字太小,看不清楚。所以我们继续把代码完善到如下所示:

```actionscript

//创建单选按钮

private function createCheckList():void{

var len:int ageList.length;

for (var i:int 0; i < len; i ){

var mCB:CheckBox new CheckBox();

ageList[i];

mCB.x 210;

mCB.y 80 i * (mCB.height 10);

(120, 25);

true;

(, selectCBHandler);

setFormat(mCB);

(mCB);

checkList[i] mCB;

}

}

//设置外观

private function setFormat(cb:CheckBox):void{

("textFormat", mForMat);

}

//处理点击事件

private function selectCBHandler(e:Event):void{

var mCB:CheckBox as CheckBox;

var len:int checkList.length;

for (var i:int 0; i < len; i ){

if (checkList[i] mCB) continue;

checkList[i].selected false;

}

txtInfo.text "我的年龄:" ;

}

```

现在发布测试,我们希望的功能全部有了,一个Flash控件做的年龄选择功能就完成了。

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。