假设:Checkbox ckbx1,ckbx2,ckbx3....chbx26
      ckbx1=new Checkbox("ckbx1",false,ckbx);
      ckbx2=new Checkbox("ckbx2",false,ckbx);
      .............
     
怎么样用循环语句从1到26建立26个checkbox?试了一下,系统老说字符串无法转化为checkbox对象,晕。

解决方案 »

  1.   

    Checkbox[]  ch=new Checkbox[26];
    for(int i=1;i<=26;i++)
    String cap=ckbx+i;
    ch[i-1]=new Checkbox(cap,false,ckbx);
    }
      

  2.   

    写错了,忘记写引号
    String cap="ckbx"+i;
      

  3.   


    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);
    }
      

  4.   

    谢谢rypgood(失魂)和Inhibitory() 不过这样的话只是创建了26个字符串标签为ckbx1-ckbx26的checkbox对象,怎么样用循环语句将把26个checkbox对象赋以ckbx1-ckbx26这26个标志符呢,这才是使我疑惑的地方。系统老说字符串无法转化为checkbox对象ckbx2=new Checkbox("ckbx2",false,ckbx);关键是这步。
      

  5.   

    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]);
    }
      

  6.   

    不知道这样的效果是不是你想要的
    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]);
    }