关于awt的复选框组

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:15:32
import java.awt.*;
public class TestCheckboxGroup extends Frame {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

TestCheckboxGroup tcg=new TestCheckboxGroup("复选框组");
tcg.setSize(500,500);
tcg.createCheckboxGroup();
tcg.setVisible(true);
}
public TestCheckboxGroup(String str){
super(str);
}
public void createCheckboxGroup(){
CheckboxGroup group=new CheckboxGroup();
Checkbox box1=new Checkbox("北京",false,group);
add(box1);
Checkbox box2=new Checkbox("上海",false,group);
add(box2);
Checkbox box3=new Checkbox("广州",false,group);
add(box3);

}
}

这段代码运行怎么只有一个单选框 不是应该有3个么 怎么让它显示3个呀 急等谢谢~~

这个问题是你没有设置布局方式造成的,因为你没有设置布局方式,因此,每次添加的单选框都添加到同一个地方了,因此只能看到最后一个,我稍微作了一点修改,我添加了一条布局语句“this.setLayout(new FlowLayout());”,下面是修改结果,你可以运行看看。
import java.awt.*;

public class TestCheckboxGroup extends Frame {

public static void main(String[] args) {
// TODO Auto-generated method stub
TestCheckboxGroup tcg = new TestCheckboxGroup("复选框组");
tcg.setSize(500, 500);
tcg.createCheckboxGroup();
tcg.setVisible(true);
}

public TestCheckboxGroup(String str) {
super(str);
}

public void createCheckboxGroup() {
//必须设置布局
this.setLayout(new FlowLayout());
CheckboxGroup group = new CheckboxGroup();
Checkbox box1 = new Checkbox("北京", false, group);
add(box1);
Checkbox box2 = new Checkbox("上海", false, group);
add(box2);
Checkbox box3 = new Checkbox("广州", false, group);
add(box3);
}

}