在另一个JPanel中访问JPanel

时间:2015-04-21 20:28:07

标签: java swing jframe jpanel

我有多个面板嵌套在其他面板中,我想从那里得到 JPanel

我试过了:

Component[] components = this.getComponents();

对于JFrame和JPanel,但它只返回javax.swing.JRootPane而不是JPanels

是否有其他我不知道的函数会返回JFrame或JPanel中的所有 JPanels

1 个答案:

答案 0 :(得分:1)

您正在访问JFrame的JRootPane,这是一个包含JLayeredPane的组件,一个包含contentPane的组件,一个保存JPanel的组件:

enter image description here * Reference

我建议您不要执行您尝试执行的操作,因为您获取引用的方法非常脆弱,如果更改GUI的结构将会中断。而是使用字段来保存您需要访问的键引用,无论是JPanel字段还是集合字段(如ArrayList),还是引用自己类的对象的字段。