2010-10-14 14 views
5

Jestem świadomy WindowListener i jej podobizny, ale wydaje się, że tylko dostarczają zdarzeń dla okien, do których masz już odniesienie i mogą dodać słuchacza. Zastanawiam się, jak odebrać wywołanie zwrotne, gdy nowe okna są tworzone przez inne procesy, lub sondować listę wszystkich okien aktualnie otwartych w systemie.Jak wykryć otwarcie nowych okien i/lub uzyskać listę otwartych okien?

Używam J2SE na Mac OS X, ale odpowiedź na wiele platform jest idealna.

Odpowiedz

3

Jak już wspomniano powyżej, można monitorować tylko okna utworzone przez aplikacje Java. Uzyskanie tego rodzaju informacji wymagałoby opracowania specyficznego dla systemu operacyjnego (JNI).

1
Window.getWindows(); 
Window.getOwnedWindows(); 
Window.getOwnerlessWindows(); 

Ale to są tylko okna otwarte przez Twoją aplikację Java.

0

Myślę, że nie jest to możliwe ze względu na pomysł piaskownicy za JRE. Możesz "widzieć" Windows tylko z własnego procesu. Ale nie wiem na pewno.

Powiązane problemy