在另一个 JPanel 中访问一个 JPanel

Accessing a JPanel inside another JPanel

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

我试过:

Component[] components = this.getComponents();

对于 JFrame 和 JPanel,但它 return 只有我 javax.swing.JRootPane 而不是 JPanels

是否还有另一个我不知道的函数 return JFrame 或 JPanel 中的所有 JPanels

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

* Reference

我建议你不要做你想做的事情,因为你获取引用的方法非常脆弱,如果你改变你的 GUI 的结构就会崩溃。而是使用字段来保存您需要访问的关键引用,无论是 JPanel 字段或集合字段(例如 ArrayList),还是引用您自己的对象的字段 类.