如何添加全局动作事件监听器?我试过了
Toolkit.getDefaultToolkit ().addAWTEventListener (this, AWTEvent.ACTION_EVENT_MASK);
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
(示例)要侦听应用程序中的所有 MouseEvents 和 KeyEvents,您可以使用:
long eventMask = AWTEvent.MOUSE_MOTION_EVENT_MASK
+ AWTEvent.MOUSE_EVENT_MASK
+ AWTEvent.KEY_EVENT_MASK;
Toolkit.getDefaultToolkit().addAWTEventListener( new AWTEventListener()
{
public void eventDispatched(AWTEvent e)
{
System.out.println(e.getID());
}
}, eventMask);
Run Code Online (Sandbox Code Playgroud)
当此代码在事件调度线程上执行时,您需要确保它快速执行以防止 GUI 变得无响应。如果您想查看一个工作示例,则在此处使用上述方法。
有关更多信息,请参见此处:全局事件侦听器
这是一个彻底的研究:AWT事件监听器