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.
|
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 |
TIMEOUT_DEFAULT
public static final int TIMEOUT_DEFAULT
- Das Default-Timeout.
- See Also:
- Constant Field Values
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.
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)