2

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

由于这个应用程序已经编写好了,让每个鼠标监听器/键盘监听器/任何类型的输入监听器扩展/实现一个特定的类/接口来存储用户启动事件的最后一次发生将是一项不可逾越的任务.

Swing 是否已经为这样的事情内置了某种实用程序?除了更改所有鼠标/键盘侦听器之外,实现此功能的好方法是什么?

4

2 回答 2

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);
于 2012-08-09T19:57:52.533 回答
2

这似乎相关,但是我没有尝试过。

http://tips4java.wordpress.com/2009/08/30/global-event-listeners/

它侧重于 AWTEventListener 的使用,以及与 KeyboardFocusManager 的挂钩。

于 2012-08-09T19:57:44.957 回答