Package de.willuhn.jameica.gui.util
Class DelayedListener
- java.lang.Object
-
- 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
Fields Modifier and Type Field Description static int
TIMEOUT_DEFAULT
Das Default-Timeout.
-
Constructor Summary
Constructors Constructor Description DelayedListener(int millis, org.eclipse.swt.widgets.Listener listener)
ct.DelayedListener(org.eclipse.swt.widgets.Listener listener)
ct.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
handleEvent(org.eclipse.swt.widgets.Event event)
-
-
-
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.
-
-