de.willuhn.jameica.gui.util
Class DelayedListener

java.lang.Object
  extended by de.willuhn.jameica.gui.util.DelayedListener
All Implemented Interfaces:
org.eclipse.swt.widgets.Listener

public class DelayedListener
extends java.lang.Object
implements org.eclipse.swt.widgets.Listener

Implementiert die verzoegerte Ausloesung einer Aktion, um Bundle-Updates durchzufuehren. Szenario: In einer Tabelle muessen Inhalte aktualisiert werden. Der Aktualisierungsvorgang kann laenger dauern (mehrere Sekunden), dennoch soll das Aktualisieren bereits bei Eingabe eines Buchstabens in einem Suchfeld ausgeloest werden. Damit nun die Eingabe des Suchtextes nicht dauernd blockiert, da jeder Tastenanschlag das Event ausloest, kann es mit dieser Action hier kurz verzoegert werden. Das eigentliche Update wird erst dann durchgefuehrt, wenn innerhalb eines definierten Zeitraumens (per Default 300ms) kein weiterer Aufruf hinzukam. Somit wird das Update erst dann durchgefuehrt, wenn z.Bsp. der komplette Begriff als Suchwort eingegeben wurde. Der Listener dient als Proxy fuer den eigentlichen Listener. Ist die angegebene Zeit abgelaufen und wurde das Event zwischenzeitlich nicht nochmal aufegerufen, dann wird das Event ausgefuehrt. Andernfalls wird weiter gewartet, bis innerhalb des angegebenen Zeitraumes kein weiteres Event hinzugekommen ist.


Field Summary
static int TIMEOUT_DEFAULT
          Das Default-Timeout.
 
Constructor Summary
DelayedListener(int millis, org.eclipse.swt.widgets.Listener listener)
          ct.
DelayedListener(org.eclipse.swt.widgets.Listener listener)
          ct.
 
Method Summary
 void handleEvent(org.eclipse.swt.widgets.Event event)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TIMEOUT_DEFAULT

public static final int TIMEOUT_DEFAULT
Das Default-Timeout.

See Also:
Constant Field Values
Constructor Detail

DelayedListener

public DelayedListener(org.eclipse.swt.widgets.Listener listener)
ct.

Parameters:
listener - der eigentlich auszufuehrende Listener.

DelayedListener

public DelayedListener(int millis,
                       org.eclipse.swt.widgets.Listener listener)
ct.

Parameters:
millis - Anzahl der Millisekunden, die gewartet werden soll.
listener - der eigentlich auszufuehrende Listener.
Method Detail

handleEvent

public final void handleEvent(org.eclipse.swt.widgets.Event event)
Specified by:
handleEvent in interface org.eclipse.swt.widgets.Listener
See Also:
Listener.handleEvent(org.eclipse.swt.widgets.Event)