2011-03-02 75 views
0

對於我以前的線程Accessing container fields part 1之一,我想問下:訪問容器字段部分2

我使用NetBeans和目前有3個組件設計的應用程序:

1)我的主類(mainApp)延伸一個JFrame
2)兩個定製類這

前些日子都擴展一個JPanel,我遇到了一些問題,指的我的主類從一個對我JPanels 但希望感謝「氣墊船內充滿鰻魚s「的用戶我用了以下方法:

app = (mainApp) SwingUtilities.getWindowAncestor(this);

並處理它。

現在我需要從其中一個JPanel中爲其他JPanel獲取參考。雖然有些奇怪的原因,但似乎我不能這樣做..!有任何想法嗎?

回答

0

沒關係! 使用以下代碼解決:
//myFrame is my main class myFrame = (mainApp) SwingUtilities.getWindowAncestor(this);
Component[] comps = myApp.getContentPane().getComponents();

int i =-1;
do{ i++;
}
//canvasPan is one of my custom-made JPanels
while(!(comps[i] instanceof canvasPan));
myCanvas = (canvasPan)comps[i];