2015-04-21 151 views
1

我有多個嵌套在其他面板內的多個面板,我想從那裏得到一個JPanel訪問另一個JPanel內的JPanel

我已經試過:

Component[] components = this.getComponents(); 

兩者的JFrame和一個JPanel,但它返回我只是javax.swing.JRootPane而不是任何JPanels

是否有另一個功能,我不知道會返回所有JPanels裏面的JFrame或JPanel?

+0

*」我有多個面板嵌套在其他面板內,我想從那裏得到一個JPanel。「*這擴展了JPanel'的反應,這將成爲問題的一半。 –

+0

擴展JPanel是否存在問題我不知道?我想爲我的遊戲使用多個面板,因爲它們很容易處理。謝謝:) – Molehole

+0

*「我想使用多個面板..」*我使用了數千個面板而不擴展它們。擴展面板的唯一時間是做定製繪畫的時候。 –

回答

1

您正在訪問Jframe的JRootPane中,持有一個JLayeredPane的,其持有的contentPane一個組件,它擁有你JPanels一個組件的組件:

enter image description here * Reference

我建議你不要做你想做的事情,因爲你獲取引用的方法非常脆弱,如果你改變你的GUI的結構將會中斷。相反,使用字段來保存您需要訪問的鍵引用,無論它們是JPanel字段還是集合字段(如ArrayList)或引用自己類的對象的字段。 「