2010-10-14 55 views
5

我知道WindowListener之流,但它们似乎只能为您已经参考的窗口提供事件,并且可以添加侦听器。我想知道如何在新窗口由其他进程创建时接收回调,或轮询当前在系统上打开的所有窗口的列表。如何检测何时打开新窗口和/或获取打开的窗口列表?

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

回答

3

就像上面已经说过的,你只能监视Java应用程序创建的窗口。获取这种信息需要特定于操作系统的开发(JNI)。

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

但这些只是由您的Java应用程序打开的Windows。

0

由于沙箱背后的JRE,我认为这是不可能的。 您只能从您自己的流程中“查看”Windows。 但我不知道。