一个panel中放了两个JCheckBox,第二个总能显示,第一个显示有问题,如果鼠标放在第一个上面,它就会显示出来,如果移开,它就隐藏了。请高手急救,谢谢!
代码如下:import java.awt.Dimension;
import java.awt.Rectangle;import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JPanel;public class Test extends JDialog { JPanel panel = new JPanel();
JCheckBox cbox = new JCheckBox();
JCheckBox cbox2 = new JCheckBox();
public Test(){
panel.setLayout(null);
panel.setBounds(new Rectangle(0, 203, 378, 162));
cbox.setText("第一个");
cbox.setBounds(new Rectangle(11, 73, 178, 18));
cbox2.setText("第二个");
cbox2.setBounds(new Rectangle(11, 73, 178,100));
panel.add(cbox,null);
panel.add(cbox2,null);
cbox.setVisible(true);
cbox2.setVisible(true);
this.getContentPane().add(panel,null);
}
public static void main(String[] args){
Test t = new Test();
t.setSize(new Dimension(500,500));
t.setVisible(true);
}
}
代码如下:import java.awt.Dimension;
import java.awt.Rectangle;import javax.swing.JCheckBox;
import javax.swing.JDialog;
import javax.swing.JPanel;public class Test extends JDialog { JPanel panel = new JPanel();
JCheckBox cbox = new JCheckBox();
JCheckBox cbox2 = new JCheckBox();
public Test(){
panel.setLayout(null);
panel.setBounds(new Rectangle(0, 203, 378, 162));
cbox.setText("第一个");
cbox.setBounds(new Rectangle(11, 73, 178, 18));
cbox2.setText("第二个");
cbox2.setBounds(new Rectangle(11, 73, 178,100));
panel.add(cbox,null);
panel.add(cbox2,null);
cbox.setVisible(true);
cbox2.setVisible(true);
this.getContentPane().add(panel,null);
}
public static void main(String[] args){
Test t = new Test();
t.setSize(new Dimension(500,500));
t.setVisible(true);
}
}
cbox2.setBounds(new Rectangle(11, 73, 178,100));
{ JPanel panel = new JPanel(); JCheckBox cbox = new JCheckBox(); JCheckBox cbox2 = new JCheckBox(); public Test()
{
panel.setLayout(new BorderLayout());
//panel.setBounds(new Rectangle(0, 203, 378, 162));
cbox.setText("第一个");
//cbox.setBounds(new Rectangle(11, 73, 178, 18));
cbox2.setText("第二个");
// cbox2.setBounds(new Rectangle(11, 73, 178, 100));
panel.add(cbox, BorderLayout.NORTH);
panel.add(cbox2, BorderLayout.SOUTH);
this.getContentPane().add(panel);
} public static void main(String[] args)
{
Test t = new Test();
t.setSize(new Dimension(500, 500));
t.setVisible(true);
}
}
new Rectangle(int x,int y,int width,int height)
前两个是定位坐标,后两个是控件的宽、高
cbox.setText("第一个");
cbox.setBounds(new Rectangle(10, 50, 178, 18));
cbox2.setText("第二个");
cbox2.setBounds(new Rectangle(10, 70, 178, 18));