下面列出了java.awt.event.WindowEvent#WINDOW_ICONIFIED 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void eventDispatched(AWTEvent event) {
int eventID = event.getID();
Window window =((WindowEvent) event).getWindow();
if (eventID == WindowEvent.WINDOW_OPENED ||
eventID == WindowEvent.WINDOW_ACTIVATED ||
eventID == WindowEvent.WINDOW_CLOSING ||
eventID == WindowEvent.WINDOW_CLOSED ||
eventID == WindowEvent.WINDOW_ICONIFIED ||
eventID == WindowEvent.WINDOW_DEICONIFIED) {
logWindow(window, eventID);
}
for (WindowHandler wh : windowHandlers) {
if (wh.filterEvent(window, eventID) && wh.recogniseWindow(window)) {
wh.handleWindow(window, eventID);
break;
}
}
}
static String windowEventToString(int eventID) {
switch (eventID) {
case WindowEvent.WINDOW_ACTIVATED:
return "Activated";
case WindowEvent.WINDOW_CLOSED:
return "Closed";
case WindowEvent.WINDOW_CLOSING:
return "Closing";
case WindowEvent.WINDOW_DEACTIVATED:
return "Deactivated";
case WindowEvent.WINDOW_DEICONIFIED:
return "Deiconified";
case WindowEvent.WINDOW_GAINED_FOCUS:
return "Focused";
case WindowEvent.WINDOW_ICONIFIED:
return "Iconified";
case WindowEvent.WINDOW_LOST_FOCUS:
return "Lost focus";
case WindowEvent.WINDOW_OPENED:
return "Opened";
case WindowEvent.WINDOW_STATE_CHANGED:
return "State changed";
default:
return "???";
}
}
/**
* Processes events on this window. If the event is an
* {@code WindowEvent}, it invokes the
* {@code processWindowEvent} method, else it invokes its
* superclass's {@code processEvent}.
* <p>Note that if the event parameter is {@code null}
* the behavior is unspecified and may result in an
* exception.
*
* @param e the event
*/
protected void processEvent(AWTEvent e) {
if (e instanceof WindowEvent) {
switch (e.getID()) {
case WindowEvent.WINDOW_OPENED:
case WindowEvent.WINDOW_CLOSING:
case WindowEvent.WINDOW_CLOSED:
case WindowEvent.WINDOW_ICONIFIED:
case WindowEvent.WINDOW_DEICONIFIED:
case WindowEvent.WINDOW_ACTIVATED:
case WindowEvent.WINDOW_DEACTIVATED:
processWindowEvent((WindowEvent)e);
break;
case WindowEvent.WINDOW_GAINED_FOCUS:
case WindowEvent.WINDOW_LOST_FOCUS:
processWindowFocusEvent((WindowEvent)e);
break;
case WindowEvent.WINDOW_STATE_CHANGED:
processWindowStateEvent((WindowEvent)e);
break;
}
return;
}
super.processEvent(e);
}
static String windowEventToString(int eventID) {
switch (eventID) {
case WindowEvent.WINDOW_ACTIVATED:
return "Activated";
case WindowEvent.WINDOW_CLOSED:
return "Closed";
case WindowEvent.WINDOW_CLOSING:
return "Closing";
case WindowEvent.WINDOW_DEACTIVATED:
return "Deactivated";
case WindowEvent.WINDOW_DEICONIFIED:
return "Deiconfied";
case WindowEvent.WINDOW_GAINED_FOCUS:
return "Focused";
case WindowEvent.WINDOW_ICONIFIED:
return "Iconified";
case WindowEvent.WINDOW_LOST_FOCUS:
return "Lost focus";
case WindowEvent.WINDOW_OPENED:
return "Opened";
case WindowEvent.WINDOW_STATE_CHANGED:
return "State changed";
default:
return "???";
}
}
boolean eventEnabled(AWTEvent e) {
switch(e.id) {
case WindowEvent.WINDOW_OPENED:
case WindowEvent.WINDOW_CLOSING:
case WindowEvent.WINDOW_CLOSED:
case WindowEvent.WINDOW_ICONIFIED:
case WindowEvent.WINDOW_DEICONIFIED:
case WindowEvent.WINDOW_ACTIVATED:
case WindowEvent.WINDOW_DEACTIVATED:
if ((eventMask & AWTEvent.WINDOW_EVENT_MASK) != 0 ||
windowListener != null) {
return true;
}
return false;
case WindowEvent.WINDOW_GAINED_FOCUS:
case WindowEvent.WINDOW_LOST_FOCUS:
if ((eventMask & AWTEvent.WINDOW_FOCUS_EVENT_MASK) != 0 ||
windowFocusListener != null) {
return true;
}
return false;
case WindowEvent.WINDOW_STATE_CHANGED:
if ((eventMask & AWTEvent.WINDOW_STATE_EVENT_MASK) != 0 ||
windowStateListener != null) {
return true;
}
return false;
default:
break;
}
return super.eventEnabled(e);
}
/**
* Processes window events occurring on this window by
* dispatching them to any registered WindowListener objects.
* NOTE: This method will not be called unless window events
* are enabled for this component; this happens when one of the
* following occurs:
* <ul>
* <li>A WindowListener object is registered via
* {@code addWindowListener}
* <li>Window events are enabled via {@code enableEvents}
* </ul>
* <p>Note that if the event parameter is {@code null}
* the behavior is unspecified and may result in an
* exception.
*
* @param e the window event
* @see Component#enableEvents
*/
protected void processWindowEvent(WindowEvent e) {
WindowListener listener = windowListener;
if (listener != null) {
switch(e.getID()) {
case WindowEvent.WINDOW_OPENED:
listener.windowOpened(e);
break;
case WindowEvent.WINDOW_CLOSING:
listener.windowClosing(e);
break;
case WindowEvent.WINDOW_CLOSED:
listener.windowClosed(e);
break;
case WindowEvent.WINDOW_ICONIFIED:
listener.windowIconified(e);
break;
case WindowEvent.WINDOW_DEICONIFIED:
listener.windowDeiconified(e);
break;
case WindowEvent.WINDOW_ACTIVATED:
listener.windowActivated(e);
break;
case WindowEvent.WINDOW_DEACTIVATED:
listener.windowDeactivated(e);
break;
default:
break;
}
}
}