powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / выход из Swing-app по timeout; например через 120 минут.
6 сообщений из 6, страница 1 из 1
выход из Swing-app по timeout; например через 120 минут.
    #34045677
Its me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется Swing application. Требуется его закрыть, если пользователь не проявляет "активности" в течение 120 минут. Закрывать его собираюсь System.exit(0), использую Timer, вопрос - как отследить, что никаких действий с приложением не делается ?
...
Рейтинг: 0 / 0
выход из Swing-app по timeout; например через 120 минут.
    #34046599
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формализуйте понятие "не делаются действия с приложением" для начала.
...
Рейтинг: 0 / 0
выход из Swing-app по timeout; например через 120 минут.
    #34047296
Its me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"не делаются действия с приложением" - нет событий от пользователя, затрагивающих запущенное приложение - окно не двигается, не сворачивается и не разворачивается, по кнопкам - вкладкам - менюшкам - окошку - порожденным окошкам - не щелкают, "горячие" комбинации символов с клавиатуры не поступают... наверняка можно делать не в лоб, отслеживая все эти события, а попроще.
...
Рейтинг: 0 / 0
выход из Swing-app по timeout; например через 120 минут.
    #34047336
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушать предка всех листнеров.
...
Рейтинг: 0 / 0
выход из Swing-app по timeout; например через 120 минут.
    #34048301
mysterio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и как вы себе это представляете? В-общем имхо нужно перекрывать java.awt.Component.processEvent()
...
Рейтинг: 0 / 0
выход из Swing-app по timeout; например через 120 минут.
    #34105027
Its me
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
получилось так:

//этот фрагмент "впизивает" в череду событий свое
Toolkit.getDefaultToolkit().getSystemEventQueue().push(new MyEventQueue());
--------------------------------------
import java.awt.*; // печатает все события типа AWTEvent, но их можно не только //печатать, но и записывать время возникновения (recordLastEvent)
import java.awt.event.*;
import javax.swing.*;
public class MyEventQueue extends EventQueue {
protected void dispatchEvent(AWTEvent event) {
// the only functionality I add is that I print out all the events
System.out.println(event);
super.dispatchEvent(event);
}
}
--------------------------------------
private void recordLastEvent(AWTEvent event) {
lastTime = System.currentTimeMillis();
}
--------------------------------------
и потом в потоке проверять: if (System.currentTimeMillis() - lastTime >= TIMEOUT) то .. выходим или опять перелогиниваемся.

помогла эта ссылка - http://www.smotricz.com/kabutz/Issue007.html
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / выход из Swing-app по timeout; например через 120 минут.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]