나는 또한 질문에 명확하지 해요,하지만 당신은 몇 가지 구성 요소의 가장 높은 부모를 원한다면 당신은 모든 눈에 보이는 윈도우의 목록을 원하는 경우, SwingUtilities.getWindowAncestor(Component);
가 참조 이전에 유래 질문, swing get visible frames
편집은 다음 getComponentZOrder의 @mKorbel 제안을 들여다
을 추가했습니다. 그러나 JPopupMenus는 그들의 친자 관계에 이상 할 수 있습니다.
질문을 다시 읽으면 모든 최상위 Windows를 가져와 getComponentPopupMenu()를 호출하여 일치하는지 확인할 수 있습니다.
x 또는 y 위치가있는 경우 가장 좋은 해결책은 findComponentAt (x, y)를 호출하는 것입니다. javadocs에서 :
"지정된 위치를 포함하는 보이는 하위 구성 요소를 찾습니다. 구성 요소에 겹침이있는 경우 최상위 하위 구성 요소가 반환됩니다. 포함하는 하위 구성 요소가 컨테이너 인 경우이 메서드는 가장 깊게 중첩 된 하위 구성 요소를 계속 검색합니다. 보이지 않는 구성 요소는 검색 중에 무시됩니다. "
http://sscce.org/ 양식에 코드를 게시하여 요구 사항을 설명하십시오 – mKorbel
주의 : JPopupMenus는 최상위 구성 요소에 반드시 표시되지는 않습니다 - 경량 인 경우 layeredPane에 추가됩니다 소유자의 최상위 부모 루트 팬 – kleopatra