我有一个应用程序,它运行一个计时器来检查空闲时间,一旦有10秒没有活动,应用程序就会关闭。我有近100个屏幕,我想要跟踪所有屏幕上的不活动秒数。我很难一个接一个地写下所有按钮、文本框、标签中的处理事件。我要做的是为用户在应用程序上的每一次操作添加10秒。即使是鼠标移动,添加10秒,应用程序也不会再关闭10秒。有没有办法有效地处理这个问题?
发布于 2011-04-25 20:15:52
我建议使用以下处理程序:
final Timer tm = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("10 SECONDS AND NOTHING HAPPENED");
}
});
tm.start();
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
@Override
public void eventDispatched(AWTEvent event) {
tm.restart();
}
}, -1);发布于 2011-04-25 20:09:08
你可以查看Toolkit.addAWTEventListener,这允许你添加一个MouseMotionListener来对整个应用程序中的鼠标移动做出反应,并采取相应的行动。
https://stackoverflow.com/questions/5777931
复制相似问题