Fechar programa java desktop por inatividade

Estou implantando um programa na empresa.

Esse programa está sendo compartilhado em um servidor local e os micros são apontados para este servidor para executar a aplicação.

Porém, vários usuários deixam a tela aberta e esquecem de fechar, ou simplesmente deixam aberto.

Gostaria de saber se tem como fechar o programa por inatividade e/ou após um tempo fechar (como se fosse o controle de sessão).

Obrigado

Em princípio vejo duas formas de detectar a inatividade numa aplicação desktop.

Você pode ter uma Thread em loop comparando as coordenadas do mouse utilizando a classe MouseInfo, se após um certo tempo a coordenada (x,y) do mouse estiver na mesma posição, provavelmente não estão usando o sistema.

Outra alternativa é ter uma Thread em loop tirando printscreen da tela com a classe Robot, aí você compara esse printscreen com o printscreen anterior, se forem iguais, provavelmente não estão usando o sistema.

1 curtida