2010-10-14 7 views
5

Sono a conoscenza di WindowListener e del suo tipo, ma questi sembrano solo fornire eventi per Windows a cui hai già un riferimento e puoi aggiungere il listener a. Mi chiedo come ricevere una richiamata quando nuove finestre vengono create da altri processi o eseguire il polling per un elenco di tutte le finestre attualmente aperte sul sistema.Come posso rilevare quando vengono aperte nuove finestre e/o ottenere un elenco di finestre aperte?

Sto usando J2SE su Mac OS X, ma una risposta multipiattaforma è l'ideale.

risposta

3

Come già detto sopra, è possibile monitorare solo le finestre create dalle app Java. Ottenere quel tipo di informazioni richiederebbe uno sviluppo specifico del sistema operativo (JNI).

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

Ma questi sono solo Windows aperti dall'app Java.

0

Penso che non sia possibile a causa dell'idea del sandbox dietro al JRE. Puoi solo "vedere" Windows dal tuo processo. Ma non lo so per certo.