java - 访问另一个 JPanel 中的 JPanel

标签 java swing jframe jpanel

我有多个面板嵌套在其他面板中,我想从那里获取一个JPanel

我已经尝试过:

Component[] components = this.getComponents();

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

是否有另一个我不知道的函数会返回 JFrame 或 JPanel 内的所有 JPanel

最佳答案

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

enter image description here * Reference

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

关于java - 访问另一个 JPanel 中的 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782474/

相关文章:

java - 如何让一帧显示50次1秒,每次显示就消失

java - 在 VLCJ 播放的视频上添加 JTextField?

java - JFrame、JPanel、JButton 和继承

Java 引用未更新

java - Spring Boot schema.sql - 重启时删除数据库模式

java - 更改自定义组件 JTable 的 LookAndFeel

java - JFrame 在更改其内容和 pack() 时闪烁

java - 在JAVA中实例化一个抽象类?

java - Castor 列出多态性

java - Canvas 上的透明 JPanel (VLCJ)