有没有办法在全球范围内监听 Swing 中新打开的窗口?

Gar*_*all 3 java swing jframe

与我如何在全局范围内监听按键类似,KeyboardFocusManager有没有一种方法可以在全局范围内监听任何打开的(setVisible呼叫)JFrameWindow在 Swing 中?

我可以通过轮询Window.getWindows()来执行此操作,但我想知道是否可以以事件驱动的方式执行此操作。

sva*_*aor 5

Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
    @Override
    public void eventDispatched(AWTEvent event) {
        System.out.println(event);
    }
}, AWTEvent.WINDOW_EVENT_MASK);
Run Code Online (Sandbox Code Playgroud)