Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 上次用户启动事件的时间_Java_Swing - Fatal编程技术网

Java 上次用户启动事件的时间

Java 上次用户启动事件的时间,java,swing,Java,Swing,我正在维护一个相当大的swing应用程序,我必须添加一个超时功能,基本上,如果用户有一段时间没有与应用程序交互,应用程序应该采取特定的操作(例如关闭) 由于该应用程序已经编写完成,因此让每一个鼠标侦听器/键盘侦听器/任何类型的输入侦听器扩展/实现一个特定的类/接口将是一项无法克服的任务,该类/接口将存储上次用户启动的事件发生的时间 swing是否已经为类似这样的东西内置了某种功能?除了更改所有鼠标/键盘侦听器之外,实现此功能的好方法是什么?这似乎很相关,但我没有尝试过 它着重于AWTEvent

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

由于该应用程序已经编写完成,因此让每一个鼠标侦听器/键盘侦听器/任何类型的输入侦听器扩展/实现一个特定的类/接口将是一项无法克服的任务,该类/接口将存储上次用户启动的事件发生的时间


swing是否已经为类似这样的东西内置了某种功能?除了更改所有鼠标/键盘侦听器之外,实现此功能的好方法是什么?

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


它着重于AWTEventListener的使用,以及与Keyboard FocusManager的连接。

到目前为止您研究了什么?我在AWTEvent和EventObject中查找了任何有用的字段,但没有看到任何内容。我也在谷歌上搜索了一下,但什么也找不到。我确实在事件队列中看到了getmostrecenteventimeex(),但这可能适用于重新绘制事件(不是用户启动的),方法是package-private。另外,我也在查看Toolkit.addAWTEventListener(…),这正是我所需要的。谢谢我在上面的评论是正确的,但所有适当的活动面具也都有帮助。
// 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);