2

我正在构建一个小型摇摆应用程序,在其中创建了与 Y 轴对齐的 BoxLayout 的内容窗格,并在其中添加了另外 2 个 JPanel。到目前为止,一切都很好。

现在我偶然发现了一个问题,我必须重新创建第一个 JPanel 并将其添加到其他两个 JPanel 的中间。

可能不止一次将另一个面板添加到布局中,因此我希望它能够适当扩展。

结论:我正在寻找的是将组件添加到 BoxLayout 并选择在最后一个组件之前添加它们。

谢谢。

4

2 回答 2

5

查看ContainerAPI。该add(...)方法具有重载方法,允许您指定组件在容器中的位置。然后是revalidate()面板repaint()

于 2012-02-07T23:22:37.227 回答
4

我会简单地删除所有组件,然后按照需要的顺序重新添加它们,确保在完成此操作后调用revalidate()repaint()在使用 BoxLayout 的容器上。

如果您需要 GUI 本身来更改大小,那么您可能必须调用pack()包含这些组件的顶级窗口。

于 2012-02-07T22:50:15.883 回答