我是初学者,我不知道如何在JFrame中添加更多对象。 如何在JFrame中添加多个JPanel对象? 以下是我的尝试。
感谢您的帮助。
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);
}
}
答案 0 :(得分:1)
您可以使用JPanel
方法在JFrame
中添加多个add
个对象。如果只显示一个,则可能需要更改布局选项或使用布局管理器(查看here以获取更多信息)。
答案 1 :(得分:1)
假设JumpingBall
扩展JPanel
,您可能需要查看此处的java布局管理器:Link。
Layout
的默认JFrame
是BorderLayout
,如果您没有指定要添加组件的位置,BorderLayout
会将其放入中心默认。在BorderLayout
中,您不能在同一区域中拥有更多该组件。因此,在您的示例中,您最终只会在框架中使用第二个JumpingBall
面板。如果您希望在中心有多个组件,则必须创建JPanel
并使用不同的布局将这些组件添加到其中。常见的三个布局是BorderLayout
,FlowLayout
和GridLayout
请查看上面提供的链接,了解组件的排列方式。
答案 2 :(得分:1)
你只看到一个,因为它相互重叠。只需为您的面板组件提供setbound(x,y,x1,y1)
,您就会在位置看到您的面板。
或使用setLayout(new FlowLayout());
将您的组件分别订购到其他组件,这样您就不会互相覆盖。