使用Flash组件创建单选按钮CheckBox
首先我们新建一个空白文档,在文档上方写上“年龄选择”几个字。
其次我们按下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控件做的年龄选择功能就完成了。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。