我正在尝试开发类似远程桌面/ VNC 客户端的东西。我有必要捕获客户端窗口中的所有事件。我正在使用的方法是覆盖以下processEvent
方法JFrame
:
@Override
protected void processEvent(AWTEvent e) {
...
}
Windows
但是,在键或窗口等事件Alt+Tab
被停用时:
...
00000191 KEY_PRESSED,keyCode=524,keyText=Windows,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=91,primaryLevelUnicode=0,scancode=91,extendedKeyCode=0x20c
00000192 KEY_RELEASED,keyCode=524,keyText=Windows,keyChar=Undefined keyChar,keyLocation=KEY_LOCATION_LEFT,rawCode=91,primaryLevelUnicode=0,scancode=91,extendedKeyCode=0x20c
000000ce WINDOW_DEACTIVATED,opposite=null,oldState=0,newState=0
...
如何在此类事件中保持窗口处于活动状态?
我更喜欢纯 Java 解决方案。如果没有纯 Java 解决方案,有人可以指出我的 JNA 解决方案(或任何其他解决方案)吗?
EDIT1: *解决了窗口停用的模糊术语“焦点”*强调非纯 Java 解决方案是可以接受的