public void hide() { WindowListener listener = windowListener; if (listener != null) { // We're not getting WINDOW_CLOSING from the native code when hiding // the window programmatically. So, create it and notify the listener. listener.windowClosing(new WindowEvent((Window) target, WindowEvent.WINDOW_CLOSING)); } super.hide(); }
// WARNING: it's called on the Toolkit thread! void preprocessPostEvent(AWTEvent event) { if (event instanceof WindowEvent) { WindowListener listener = windowListener; if (listener != null) { switch (event.getID()) { case WindowEvent.WINDOW_CLOSING: listener.windowClosing((WindowEvent) event); break; case WindowEvent.WINDOW_ICONIFIED: listener.windowIconified((WindowEvent) event); break; } } } }