Обработка таймеров в Java - PullRequest
       2

Обработка таймеров в Java

0 голосов
/ 25 апреля 2011

У меня есть приложение, которое запускает таймер для проверки времени простоя, и если в течение 10 секунд не выполняется никаких действий, приложение закрывается. У меня около 100 экранов, и я хочу отслеживать секунды бездействия на всех экранах. Мне трудно писать события обработки по одному на всех кнопках, текстовых полях, ярлыках. Что мне нужно сделать, это добавить 10 секунд на каждое действие пользователя в приложении. Даже если это движение мыши, добавьте 10 секунд, так что приложение не закроется еще на 10 секунд. Есть ли способ справиться с этим эффективно?

Ответы [ 2 ]

3 голосов
/ 25 апреля 2011

Я бы предложил следующий обработчик:

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);
3 голосов
/ 25 апреля 2011

Вы можете просмотреть Toolkit.addAWTEventListener , что позволит вам добавить MouseMotionListener , чтобы реагировать на движения мыши в вашем приложении и действовать соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...