控件不断从我的JFrame中消失,没有JPanes或任何要绘制的东西

时间:2015-09-28 01:57:40

标签: java swing jframe jbutton jcheckbox

以下是我的一些代码。应该注意的是,这不是我的确切代码,因为我确实添加了更多,但长话短说,我可以保证没有任何控件相互接触,并且它们都被添加到此框架中。那是我的问题所在。应该指出的是,我对此并不熟悉,因此需要特别的帮助。我不明白为什么这些会给我带来问题,例如按钮太大而且不合适,但是我需要它们在我指定的确切位置的确切位置,并且永远不会消失或闪烁。我该怎么办?

public class TesterFrame extends JFrame{
    public TesterFrame(){
        setSize(500,500);
        JButton jb = new JButton("Button");
        jb.setLocation(100, 100);
        jb.setSize(20,20);
        JCheckBox jcb = new JCheckBox("CheckBox");
        jcb.setLocation(20,20);
        jcb.setSize(30,30);
        add(jb); add(jcb);
        JButton jb2=new JButton("BUTTON");
        jb2.setLocation(60,60);
        jb2.setSize(30,30);
        add(jb2);
        setVisible(true);
    }
}

1 个答案:

答案 0 :(得分:1)

默认情况下,

JFrame使用BorderLayout,只允许单个组件位于其中任意五个可用插槽中。

您基本上将所有组件添加到BorderLayout.CENTER位置,但实际上只列出了最后一个组件。

有关详细信息,请参阅How to Use BorderLayout

在开始添加组件之前尝试调用setLayout(new FlowLayout());

查看Laying Out Components Within a Container以获取更多详细信息以及其他可帮助您的布局管理器列表