2014-05-03 38 views
1

我已經在GridBagLayout中插入了幾個JPanel,其中包含gridBagConstraints對象 以及特定操作後,我想更改某些JPanel的顏色。 我的問題是我如何訪問GridBagLayout中的特定JPanel並更改它們的顏色。 (網格中的Jpanels的給定座標)更改位於GridBagLayout中的JPanel的顏色/其他值

回答

1

您應該將這些JPanel分配給某種變量以便能夠獲得對它們的引用。這可以是單個變量,也可以是List或Map之類的集合。如果你還沒有使用地圖,那麼我建議你小心使用這些非常有用的構造,這可以讓你獲得基於字符串,它們的「座標」或其他唯一標識符的對象的訪問權限。另外,我的建議顯然與佈局管理器無關,我不認爲試圖爲此使用佈局管理器將導致強大的長期解決方案。

如果你必須得到GridBagLayout中,利用容器內的單個組件的的GridBagConstraints,每GridBagLayout API您可以使用GridBagLayout的方法,public GridBagConstraints getConstraints(Component comp)。如果你需要爲所有的組件做這件事,那麼你可以在你的容器上調用getComponents(),遍歷for循環中的所有組件,在它們上面調用上面的方法。

此外,如果您需要更具體的幫助,請考慮編輯您的問題,方法是創建併發布minimal code example program供我們審覈,測試並可能幫助您解決問題。

+0

使用一個地圖對象,完美的作品。 – YonBruchim

相關問題