是否可以动态地将组件添加到BoxLayout的中间

时间:2012-02-07 22:48:28

标签: java swing layout-manager boxlayout

我正在构建一个小型的swing应用程序,我在其中创建了与BoxLayout对齐的内容窗格,并为其添加了另外2个JPanel。到现在为止还挺好。

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

可能会出现多次出现,其中另一个面板被添加到布局中,所以我希望它能够适当扩展。

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

感谢。

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:4)

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

如果您需要自己的GUI来更改大小,那么您可能需要在包含这些组件的顶级窗口上调用pack()