GWT: Wie setze ich ein Ereignis in die Warteschlange (entspricht Swing invokeLater ())?

8

Mit dem folgenden Szenario: Verwischen einer TextBox (Eingabe) schreibt Text (unter bestimmten Bedingungen) in meine Status-Box, und durch Klicken auf eine Schaltfläche wird auch Text in die Status-Box geschrieben.

Wenn ich nun auf die Schaltfläche klicke, wird meine textBox verwischt, wenn sie fokussiert ist und die status-Box so flackert, dass zuerst der blurHandler sein Ergebnis und dann der clickHandler schreibt. Da ich möchte, dass das Ergebnis von clickHandler angezeigt wird, besteht meine Idee darin, dass der blurHandler ein Ereignis am Ende der Warteschlange platziert, das überprüft, ob ein clickHandler zuvor ein Ergebnis geschrieben hat.

In Swing würde ich SwingUtilities .invokeLater ( Lauffähig). Der Äquivalent in GWT ist der Planer , aber diese verzögerten oder endgültigen Befehle scheinen immer nach dem aktuellen Ereignis und vor dem nächsten zu laufen. Bisher verwende ich Scheduler.scheduleFixedDelay mit 100ms Verzögerung und hoffe, dass es nach dem clickHanlder in jedem Browser kommt. Siehe ähnliche Problem mit Antwort.

Ich denke, es muss eine bessere Lösung dafür geben. Wie fügt man wirklich ein Ereignis am Ende der Warteschlange hinzu oder ist es aufgrund von HTML-Einschränkungen unmöglich?

    
Zak_Rhol 23.03.2012, 07:48
quelle

1 Antwort

4

Versuchen Sie:

%Vor%

Siehe

Klassenplanung

    
Andrzej Jozwik 23.03.2012 07:57
quelle

Tags und Links