我正在构建一个小型的swing应用程序,我在其中创建了与BoxLayout对齐的内容窗格,并为其添加了另外2个JPanel。到现在为止还挺好。
现在我偶然发现了一个问题,我必须重新创建第一个JPanel并将其添加到其他两个JPanel的中间。
可能会出现多次出现,其中另一个面板被添加到布局中,所以我希望它能够适当扩展。
结论:我正在寻找的是将组件添加到BoxLayout,并选择在最后一个组件之前添加它们。
感谢。
答案 0 :(得分:5)
查看Container
API。 add(...)
方法具有重载方法,允许您指定容器中组件的位置。然后是revalidate()
和repaint()
小组。
答案 1 :(得分:4)
我只需删除所有组件,然后按照所需的顺序重新添加它们,确保在完成此操作后在BoxLayout-using容器上调用revalidate()
和repaint()
。
如果您需要自己的GUI来更改大小,那么您可能需要在包含这些组件的顶级窗口上调用pack()
。