上次用户发起的事件

Laz*_*key 2 java swing

我有一个相当大的swing应用程序我正在维护,我必须添加一个超时功能,基本上如果用户在一段时间内没有与应用程序交互,应用程序应采取特定的操作(例如关闭) ).

由于已经编写了这个应用程序,因此使每个mouselistener /键盘监听器/任何类型的输入监听器扩展/实现一个特定的类/接口是一个不可逾越的任务,该类/接口将存储上次用户发起的事件发生时.

对于像这样的东西,swing已经有了某种内在的力量吗?在改变所有鼠标/键盘监听器之外,实现此功能的好方法是什么?

Jim*_*imN 6

// the event mask; adjust as desired
long eventMask = 
    AWTEvent.KEY_EVENT_MASK |
    AWTEvent.MOUSE_EVENT_MASK |
    AWTEvent.MOUSE_MOTION_EVENT_MASK |
    AWTEvent.INPUT_METHOD_EVENT_MASK;

// install a listener for receiving global events
Toolkit.getDefaultToolkit().addAWTEventListener(yourListenerInstance, eventMask);
Run Code Online (Sandbox Code Playgroud)