2010-10-14 91 views
5

我知道WindowListener之流,但它們似乎只能爲您已經參考的窗口提供事件,並且可以添加偵聽器。我想知道如何在新窗口由其他進程創建時接收回調,或輪詢當前在系統上打開的所有窗口的列表。如何檢測何時打開新窗口和/或獲取打開的窗口列表?

我在Mac OS X上使用J2SE,但跨平臺的答案是理想的。

回答

3

就像上面已經說過的,你只能監視Java應用程序創建的窗口。獲取這種信息需要特定於操作系統的開發(JNI)。

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

但這些只是由您的Java應用程序打開的Windows。

0

由於沙箱背後的JRE,我認爲這是不可能的。 您只能從您自己的流程中「查看」Windows。 但我不知道。