整容说文库 > 程序代码 > 教育资讯

循环语句从1到26建立26个checkbox?

来源:学生作业帮助网 编辑:整容说文库 时间:2019/11/16 06:50:15 程序代码
循环语句从1到26建立26个checkbox?程序代码
假设:Checkbox ckbx1,ckbx2,ckbx3....chbx26
      ckbx1=new Checkbox("ckbx1",false,ckbx);
      ckbx2=new Checkbox("ckbx2",false,ckbx);
      .............
     
怎么样用循环语句从1到26建立26个checkbox?试了一下,系统老说字符串无法转化为checkbox对象,晕。
Checkbox[]  ch=new Checkbox[26];
for(int i=1;i<=26;i++)
String cap=ckbx+i;
ch[i-1]=new Checkbox(cap,false,ckbx);
}
写错了,忘记写引号
String cap="ckbx"+i;

Checkbox[] ch=new Checkbox[26];
for(int i=1;i<=26;i++)
String cap=ckbx+i; // 这里用StringBuffer好一些,以免每次都产生一个String对象.
ch[i-1]=new Checkbox(cap,false,ckbx);
}
谢谢rypgood(失魂)和Inhibitory() 

不过这样的话只是创建了26个字符串标签为ckbx1-ckbx26的checkbox对象,

怎么样用循环语句将把26个checkbox对象赋以ckbx1-ckbx26这26个标志符呢,这才是使我疑惑的地方。

系统老说字符串无法转化为checkbox对象

ckbx2=new Checkbox("ckbx2",false,ckbx);关键是这步。
关注一下
ckbx1~ckbx26 在构造中属于 CheckboxGroup 对象的,你应该先生成这26个对象。试试下面的代码:

CheckboxGroup[] cbg = new CheckboxGroup[26];
for(int i = 0; i < cbg.length; i++){
  cbg[i] = new CheckboxGroup();
}
Checkbox[] cb = new Checkbox[26];
for(int i=0; i< c b.length; i++){
  String t = "ckbx" + (i+1);
  cb[i] = new Checkbox(t, false, cbg[i]);
}
不知道这样的效果是不是你想要的
JCheckBox[] box=new JCheckBox[26];
for (int i=0;i<box.length;i++){
box[i]=new JCheckBox();
box[i].setText("ckbx"+i+1);
panel.add(box[i]);
}
关注一下
程序代码