Ich stelle fest, dass es zwei Methoden gibt, mit denen ein Event-Handler an ein GWT-Widget angeschlossen werden kann: addHandler und addDomHandler. Das JavaDoc für addDomHandler sagt: "Fügt dem Widget einen systemeigenen Ereignishandler hinzu und versenkt das entsprechende native Ereignis. Wenn Sie das systemeigene Ereignis nicht versenken möchten, verwenden Sie stattdessen die generische addHandler-Methode."
Ich wäre sehr dankbar, wenn mich jemand über den Unterschied zwischen nativen Ereignissen und logischen Ereignissen aufklären würde.
Native Ereignisse werden direkt vom Browser ausgelöst - Ereignisse wie Klicks, Mouseovers, Tastatureingaben usw. Um diese Ereignisse auf einem Widget zu empfangen, müssen Sie die Ereignisse gezielt versenken.
Die generischen Ereignisse sind, naja, generischer. Zum Beispiel habe ich eine SaveEvent
und eine DeleteEvent
für meine eigene Verwendung erstellt, die ausgelöst werden, wenn bestimmte UI-Bedingungen erfüllt sind. Sie sind weiter weg vom Browser und würden niemals direkt vom Browser gefeuert werden. Ich denke, du solltest bei den allgemeineren Ereignissen bleiben, wenn du kannst. Wenn Sie dagegen ein benutzerdefiniertes Widget erstellen, das Sie nicht aus anderen Widgets erstellen können - wenn Sie beispielsweise einen Schieberegler erstellen möchten, auf den der Benutzer klicken und ziehen kann, benötigen Sie die DOM-Ereignisse.
Tags und Links gwt events browser event-handling