[英]Capturing window events using AWTEvent.WINDOW_EVENT_MASK
为了捕获全局级别的窗口事件,我正在做
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
System.out.println(event);
System.out.println(Arrays.toString(Window.getWindows()));
}
}, AWTEvent.WINDOW_EVENT_MASK);
但是,当打开内部框架窗口时,我没有收到任何事件。 另外, Window.getWindows()
不会返回内部框架窗口。
AWTEvent.WINDOW_STATE_EVENT_MASK
缩小事件范围时,我没有收到任何事件。 我对Window打开和关闭事件特别感兴趣。 我该如何实现? 对于JInternalFrame
打开和关闭,不会推送任何WindowEvent
,因为它不是Window
子级。 使用AWTEvent.CONTAINER_EVENT_MASK
参数AWTEventListener
您会收到ContainerEvent[COMPONENT_ADDED]
和ContainerEvent[COMPONENT_REMOVED]
添加和删除的JInternalFrames
分别为:
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
System.out.println(event);
}
}, AWTEvent.CONTAINER_EVENT_MASK);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.