如何检测何时打开新窗口和/或获取打开的窗口列表?
问题描述:
我知道WindowListener
之流,但它们似乎只能为您已经参考的窗口提供事件,并且可以添加侦听器。我想知道如何在新窗口由其他进程创建时接收回调,或轮询当前在系统上打开的所有窗口的列表。如何检测何时打开新窗口和/或获取打开的窗口列表?
我在Mac OS X上使用J2SE,但跨平台的答案是理想的。
答
就像上面已经说过的,你只能监视Java应用程序创建的窗口。获取这种信息需要特定于操作系统的开发(JNI)。
答
Window.getWindows();
Window.getOwnedWindows();
Window.getOwnerlessWindows();
但这些只是由您的Java应用程序打开的Windows。
答
由于沙箱背后的JRE,我认为这是不可能的。 您只能从您自己的流程中“查看”Windows。 但我不知道。