This question already has answers here:
Java/Swing: Obtain Window/JFrame from inside a JPanel
(4个答案)
6年前关闭。
我可以继续使用每个父母的getParent()遍历他们的父母,直到我找到一个共享的父母或为null,但这似乎是一个糟糕的解决方案,是否有更好的方法?
基本上我的用例是在FocusLost()上的FocusListener中,我想知道我是否正在失去对框架之外的东西的关注...
或
或
(4个答案)
6年前关闭。
我可以继续使用每个父母的getParent()遍历他们的父母,直到我找到一个共享的父母或为null,但这似乎是一个糟糕的解决方案,是否有更好的方法?
基本上我的用例是在FocusLost()上的FocusListener中,我想知道我是否正在失去对框架之外的东西的关注...
最佳答案
您可以比较以下结果:
SwingUtilities.windowForComponent(comp1).equals(SwingUtilities.windowForComponent(comp2))
或
SwingUtilities.getWindowAncestor(comp1).equals(SwingUtilities.getWindowAncestor(comp2))
或
SwingUtilities.getRoot(comp1).equals(SwingUtilities.getRoot(comp2))
09-11 18:08