[英]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.