package cn.junco.checkboxgoup;import java.awt.Checkbox;
import java.awt.CheckboxGroup;
import java.awt.Frame;import java.awt.Label;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;public class CheckboxDemo extends Frame {
public static final long serialVersionUID=1L;
   
    

    public CheckboxDemo()  {
// TODO Auto-generated constructor stub
     String []university={"Tsinghua","Tianjin","tju","whu"};
     Checkbox[] C=new Checkbox[4];
     Label manu=new Label("The name of the university");
     CheckboxGroup c=new CheckboxGroup();
     add(manu);
for (int i=0;i<4;i++)
{
C[i]=new Checkbox(university[i],c,false);
add(C[i]);
}
pack();
setVisible(true);
addWindowListener(new Win());

}
public static void main(String[] args) {
// TODO Auto-generated method stub
           new CheckboxDemo();
}

public class Win extends WindowAdapter 
{ public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}

}}
为什么窗口上面显示的结果只有一个whu啊?

解决方案 »

  1.   

    你没有设置Layout(布局),因此前面的被覆盖掉了,改为下public CheckboxDemo()  {
    // TODO Auto-generated constructor stub
         String []university={"Tsinghua","Tianjin","tju","whu"};
         this.setLayout(new GridLayout(5,1));
         Checkbox[] C=new Checkbox[4];
         Label manu=new Label("The name of the university");
         CheckboxGroup c=new CheckboxGroup();
         add(manu);
    for (int i=0;i<4;i++)
    {
    C[i]=new Checkbox(university[i],c,false);
    add(C[i]);
    }
    pack();
    setVisible(true);
    addWindowListener(new Win());

    }
    -----------------
    其实只加了一句,this.setLayout(new GridLayout(5,1));
    当然,你可以换成别的Layout manager,
      

  2.   

    同意楼上
    布局弄好了就行了。
    别忘了加上
    import java.awt.GridLayout;
      

  3.   

    你没设布局管理器,我觉得用FlowLayout比较好,另外感觉一个一个类的import进来麻烦,干脆一次性都import算了
    import java.awt.*;
    import java.awt.event.*;public class CheckboxDemo extends Frame {
    public static final long serialVersionUID=1L;
       
        

        public CheckboxDemo()  {
    // TODO Auto-generated constructor stub
    this.setLayout(new FlowLayout());
         String []university={"Tsinghua","Tianjin","tju","whu"};
         Checkbox[] C=new Checkbox[4];
         Label manu=new Label("The name of the university");
         CheckboxGroup c=new CheckboxGroup();
         add(manu);
    for (int i=0;i<4;i++)
    {
    C[i]=new Checkbox(university[i],c,false);
    add(C[i]);
    }
    pack();
    setVisible(true);
    addWindowListener(new Win());

    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub
               new CheckboxDemo();
    }

    public class Win extends WindowAdapter 
    { public void windowClosing(WindowEvent e) {
    // TODO Auto-generated method stub
    System.exit(0);
    }

    }}
      

  4.   

    Frame默认使用BorderLayout,后面的将前面的覆盖了