我有一个JFrame.
我也有一个Box扩展的类成分。
这个盒子类有一个paint制作填充矩形的方法。
当我将多个 Box 组件添加到 JFrame 时,当我调用时仅显示最近添加的一个repaint在 JFrame 上。
我查看了布局管理器,但我不确定这就是我想要的。我想要的只是能够在屏幕上的任何位置制作整堆矩形的动画。
(我还尝试创建一个面板,将面板添加到 JFrame,然后将所有 Box 组件添加到面板。这也不起作用)。
提前致谢!
你有2个选择。
您可以更改框架的布局:
JFrame frame;
frame.setLayout(new FlowLayout());
现在,如果您添加多个框,它将显示在框架上。
另一种选择是按照你所说的尝试去做。 (在框架上添加面板)
JPanel pane = new JPanel();
frame.add(pane);
(add the boxes to 'pane')
另外,你应该注意你的尺寸Box
。您可能需要致电setPreferredSize()
在创作的某个地方Box
。这将告诉 Java 在将框添加到布局时要制作什么大小。
您还应该看看Java 布局管理器教程 http://download.oracle.com/javase/tutorial/uiswing/layout/using.html。那里有很多很棒的信息。
还有一件事。框架上一次只显示一个框的原因是 JFrame 布局管理器BorderLayout
。而且,当你打电话时add
在具有 BorderLayout 的组件上,该组件会自动添加到组件的中心。随后调用add
将覆盖中心组件,只留下中间的一个组件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)