将 JButton 添加到 JPanel 到 JFrame

Adding a JButton to a JPanel to a JFrame

我正在努力学习如何使用 JFrames。我有一个 JFrame,它有一个 JPanel,它有一个 JButton。我将 JButton 添加到 JPanel,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。

如果 JPanel 包含所有 Component,您应该将 JPanel 设置为 ContentPane,以便 JFrame

所以你需要改变这个

f.add(p);

f.setContentPane(p);

如果 JPanel 仅适用于特定的 Component,您应该为 JPanel 设置界限并添加它。

BorderLayout 示例:

f.add(p, BorderLayout.CENTER);