我有一个正在维护的相当大的 swing 应用程序,我必须添加一个超时功能,基本上如果用户在一定时间内没有与应用程序交互,应用程序应该采取特定的操作(例如关机)。
由于此应用程序已经编写完成,因此让每个鼠标监听器/键盘监听器/任何类型的输入监听器扩展/实现一个特定的类/接口(interface)将是一项无法克服的任务,该类/接口(interface)将存储最后一次用户-发起的事件发生了。
swing 是否已经内置了某种实用程序来处理此类问题?如果不更改所有鼠标/键盘监听器,实现此功能的好方法是什么?
最佳答案
// 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);
关于java - 用户发起事件的最后时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11890959/