2010-04-13 6 views
1

JDialog를 확장하는 몇 레벨 아래로 사용자 정의 윈도우 클래스가 있습니다. 우리는 창을 만들고 부모 인수를 취하는 생성자를 사용하여 기존 창의 자식으로 새 창을 만드는 경우가 있습니다.JDialog에 자식이 있는지 어떻게 결정합니까?

사용자 지정 클래스에 어딘가에 창을 자식이 있는지 여부에 따라 다른 코드를 넣어야합니다. 나는 getParent() 등을 알고 있으며 창 구성 요소를 반복 할 수 있다는 것을 알지만 내 인생에 대해 현재 창에 자식 창이 있는지 여부를 결정하는 방법을 찾을 수없는 것 같습니다. .

이 방법이 있습니까? 어떤 도움이라도 언제나 감사하게 생각합니다.

답변

2

Window.getOwnedWindows()를 참조하십시오.

+0

네가 두 사람이 대답했을 때 나는 거의 정확히 우연히 발견했다. 그게 전부이지만, 아이들이 제거 될 때 그 자체로는 정리하지 않는 것 같습니다. 이것이 나를 위해 잘 작동하지 않을 것이라고 생각하지만 그것은 내 질문에 대한 대답이므로 받아 들일 것입니다. – Morinar

+0

Morinar, Window는 회원의 소유권을 해지 할 수있는 인터페이스를 제공하지 않으므로이 데이터를 정리해야하는 이유가 확실하지 않습니다. 여기에는 "children"이라는 두 가지 개념이 있습니다. Window-as-Container에는 다른 Windows를 소유하는 Window와 다른 하위 구성 요소가 있습니다. –

+0

나는 그걸 되돌려 준다. Window.dispose를 호출하면 소유권 관계가 업데이트되므로 스스로 정리하고있다. 이것이 당신의 특별한 요구에 충분하지 않다면, 자세히 설명하십시오. –

1

getOwnedWindows()합니까? 그것은 에 속하며, JDialog의 부모 계보에 속합니다.

관련 문제