关于我之前的一个帖子Accessing container fields part 1,我想问一下:
我正在使用netbeans设计一个应用程序,目前有3个组件:
1)我的主类(mainApp)扩展了JFrame
2)两个自定义类,它们都扩展了JPanel
前几天我在我的JPanels中从一个内部引用了我的主要课程时遇到了一些问题
但希望感谢“Hovercraft Full Of Eels”用户,我使用了以下方法:
app = (mainApp) SwingUtilities.getWindowAncestor(this);
并处理它。
现在我需要从我的一个JPanel中获取另一个JPanel的引用。出于一些奇怪的原因,但似乎我不能这样做..!有什么想法吗?
答案 0 :(得分: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];