Boa noite…
gostaria de saber se existe em java algo que capture, ou perceba, se está havendo atividade num determinado sistema.
a idéia era usar uma thread com um tempo determinado, se não houvesse atividade no frame,
ele fizesse um logoff no sistema.
Existe algo?
Pronto acho que não existe. O que vc poderia fazer é utilizar o GlassPane da JFrame para escutar por atividades, talvez com MouseListener.
Algo como[code]
class ActivityListener extends MouseAdapter {
public static final int DEFAULT_TIMEOUT = 5 * 1000 * 60;
private javax.swing.Timer timeout;
private Component comp;
public ActivityListener(Component c) {
this.comp = c;
timeout = new javax.swing.Timer(DEFAULT_TIMEOUT, new ActionListener() {
public void actionPerformed(ActionEvent e) {
//faz logout no sistema
}
});
comp.addMouseListener(this);
timeout.start();
}
public void mouseClicked(MouseEvent e) {
timeout.restart();
}
}
ActivityListener act = new ActivityListener( frame.getGlassPane() );
[/code]
Mas não tenho certeza se o GlassPane iria detectar a atividade do mouse, teria que testar…
na ultima linha
ActivityListener act = new ActivityListener( frame.getGlassPane() );
frame seria o Frame atual?
não funcionou ou não consegui fazer direito.