2014-12-30 67 views
0

我正在處理一個項目,該項目將JPanel對象添加到另一個面板,其中GridBagLayout。這些子板是可移動的,在佈局留下空白點,像這樣:重新填充GridBagLayout中的空單元格

當我添加另一個面板到這一點,我想它首先填充任何存在的空白空間,然後繼續按順序填充就像它已經。

我可以弄清楚如何用一個空的空間來做到這一點,而不是很多。

這是我最能圖:有一個ArrayList保存從刪除的對象的XY共同ORDS

+0

Sound Track詳細信息組件中的「間隙」屏幕截圖看起來很奇怪。我會考慮在這種情況下使用允許水平換行的JList。 –

+0

順便說一下 - 通過'GridBagCoordinates' DYM'GridBagConstraints'? –

+0

每當一個組被刪除時,你都需要重新調整所有組件的x/y位置 – MadProgrammer

回答

1

之前刪除子面板,你可以得到(你可以從一個組件獲得GridBagConstraints?)使用的GridBagLayout的方法

public GridBagConstraints getConstraints(Component comp) 

,並將它們存儲在列表中的約束(我們將其命名爲freeConstraintsList)。

從列表中添加免費約束並用於添加新的子面板(從freeConstraintsList中刪除使用的約束的庫)。

如果列表爲空,則引入新的約束條件。

+0

我會嘗試這一點,並在我做的時候更新。謝謝。 – CarenRose

+0

它的工作原理,謝謝。 – CarenRose

相關問題