我正在开发一个项目,该项目使用JPanel
将(子)GridBagLayout
个对象添加到另一个面板。这些子面板是可移动的,在布局中留下一个空白点,如下所示:
当我在其中添加另一个面板时,我希望首先填充任何存在的空白区域,然后按顺序继续填充。
我可以弄清楚如何使用一个空的空间来完成这个操作,而不是很多。
这是我最能说明的事情:有一个ArrayList
来保存已删除对象的x-y co-ords(你能得到它吗?从组件中获取GridBagConstraints
吗?)
答案 0 :(得分:1)
在删除子面板之前,您可以使用GridBagLayout方法获取约束
public GridBagConstraints getConstraints(Component comp)
并将它们存储在一个列表中(让它命名为freeConstraintsList)。
在列表中添加get free Constraints并用于添加新的子面板(从freeConstraintsList中删除已使用的约束)。
如果列表为空,请引入新的约束。