在GridBagLayout中重新填充空单元格

时间:2014-12-30 07:39:56

标签: java swing user-interface layout-manager gridbaglayout

我正在开发一个项目,该项目使用JPanel将(子)GridBagLayout个对象添加到另一个面板。这些子面板是可移动的,在布局中留下一个空白点,如下所示:

当我在其中添加另一个面板时,我希望首先填充任何存在的空白区域,然后按顺序继续填充。

我可以弄清楚如何使用一个空的空间来完成这个操作,而不是很多。

这是我最能说明的事情:有一个ArrayList来保存已删除对象的x-y co-ords(你能得到它吗?从组件中获取GridBagConstraints吗?)

1 个答案:

答案 0 :(得分:1)

在删除子面板之前,您可以使用GridBagLayout方法获取约束

public GridBagConstraints getConstraints(Component comp)

并将它们存储在一个列表中(让它命名为freeConstraintsList)。

在列表中添加get free Constraints并用于添加新的子面板(从freeConstraintsList中删除已使用的约束)。

如果列表为空,请引入新的约束。