访问容器字段第2部分

时间:2011-03-02 19:30:44

标签: java reference jpanel

关于我之前的一个帖子Accessing container fields part 1,我想问一下:

我正在使用netbeans设计一个应用程序,目前有3个组件:

1)我的主类(mainApp)扩展了JFrame
2)两个自定义类,它们都扩展了JPanel

前几天我在我的JPanels中从一个内部引用了我的主要课程时遇到了一些问题 但希望感谢“Hovercraft Full Of Eels”用户,我使用了以下方法:

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

并处理它。

现在我需要从我的一个JPanel中获取另一个JPanel的引用。出于一些奇怪的原因,但似乎我不能这样做..!有什么想法吗?

1 个答案:

答案 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];