将JButton的JButton添加到JFrame

时间:2019-01-09 15:34:26

标签: java jframe jpanel jcomponent

我正在尝试学习如何使用JFrames。我有一个JFrame,有一个JPanel,有一个JButton。我将JButton添加到JPanel,后者又添加到JFrame。我的代码在下面,我不知道为什么这行不通。如果我没有正确设置布局没关系?我只是想弄清楚这一点,以帮助我使用布局解决更大的问题,我们将尽力提供帮助。谢谢

public class one {
    public static void main(String[] args) {

        JFrame f = new JFrame();
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().setLayout(null);
        f.setBounds(10, 10, 500, 500);

        JPanel p = new JPanel();
        p.setVisible(true);
        p.setBackground(Color.BLACK);

        JButton b = new JButton("Testing");
        b.setBounds(60, 60, 100, 100);
        b.setVisible(true);



        p.add(b);

        f.add(p);

        f.setVisible(true);
    }
}

运行该代码只会打开一个空白的JFrame。

1 个答案:

答案 0 :(得分:1)

如果JPanel包含所有Component,则应将JPanel的{​​{1}}设置为ContentPane

所以您需要更改此

JFrame

f.add(p);

如果f.setContentPane(p); 仅用于特定的JPanel,则应为Component设置边界并添加边界。

JPanel的示例:

BorderLayout