【问题标题】:Child-Parent relation between Swing Containers and ComponentsSwing 容器和组件之间的子父关系
【发布时间】:2012-12-07 08:15:42
【问题描述】:

假设我有JPanelJLabel,我需要检查JLabel 是否与特定的JPanel 有子父关系。但是,JLabel 可能不是直子,而是孙子等等。

是否有简单的函数 API 可以检查我遗漏的内容?

当然,我可以递归调用Container.getComponents()Component.getParent() 并检查。有简单的解决办法吗?

【问题讨论】:

  • 您可以简单地从标签父级向上遍历组件层次结构,直到到达 null 或找到组件。您正在寻找的方法是 getParent
  • 是的,我知道getParent()。所以这将是最简单的解决方案,对吧?
  • 对组件、父级或祖先使用 SwingUtilities 窗口???,快点懒惰地检查 API :-)
  • @mKorbel,@MadProgrammer,我已经尝试过 SwingUtilities 中的 isDescendingFrom。我想知道如果有JScrollPane 在路上会发生什么,因为添加的组件已添加到JViewPort。它应该工作吗?

标签: java swing parent-child jcomponent


【解决方案1】:

我认为Container.isAncestorOf(JComponent 继承的)会做你想做的事。

【讨论】:

    猜你喜欢
    • 2012-04-12
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多