Java将多个JPanel对象添加到JFrame中
我是一个初学者,我不知道如何在JFrame中添加更多的对象。 如何将多个JPanel对象添加到JFrame中? 下面是我试过的 谢谢你的帮助Java将多个JPanel对象添加到JFrame中,java,swing,jframe,layout-manager,Java,Swing,Jframe,Layout Manager,我是一个初学者,我不知道如何在JFrame中添加更多的对象。 如何将多个JPanel对象添加到JFrame中? 下面是我试过的 谢谢你的帮助 public class Init extends JFrame{ public Init(){ super("Ball"); Buttons t = new Buttons(); JumpingBall b1 = new JumpingBall(); JumpingBall b
public class Init extends JFrame{
public Init(){
super("Ball");
Buttons t = new Buttons();
JumpingBall b1 = new JumpingBall();
JumpingBall b2 = new JumpingBall();
t.addBall(b1);
t.addBall(b2);
add(b1);
add(b2);
setSize(500,500);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
}
}
您可以使用
add
方法在JFrame
中添加许多JPanel
对象。如果只显示一个,您可能需要更改布局选项或使用布局管理器(查找更多)。假设JumpingBall
扩展JPanel
,您可能需要在此处查看java布局管理器:
JFrame
的默认Layout
是BorderLayout
,如果您没有指定要添加组件的位置,默认情况下BorderLayout
会将其放在中间。在BorderLayout
中,同一区域中不能有多个组件。因此,在您的示例中,您的框架中只有第二个JumpingBall
面板。如果您希望在中心有多个组件,则必须创建一个JPanel
,并使用不同的布局将这些组件添加到其中。常见的三种布局是BorderLayout
、FlowLayout
和GridLayout
。请查看上面提供的链接以了解组件的排列方式。您只看到一种布局,因为它相互重叠。只需为您的面板组件提供setbound(x,y,x1,y1)
,您将在该位置看到您的面板
或者使用
setLayout(newflowlayout())代码>它将分别对组件进行排序,这样您就不会相互覆盖。您应该使用布局。阅读:你的问题是什么?好的,很高兴听到。别忘了,无论你认为哪个答案能更全面地回答你的问题,都要投最好的票。