将 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);
我正在努力学习如何使用 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);