Comment utiliser le GWT EventBus
Je me demande comment faire pour utiliser la EventBus
ou si il y a quelques meilleures solutions pour envoyer un Event
par le projet.
Widget1
a un Button
. Widget2
a un Label
, qui devrait changer lorsque j'appuie sur le bouton. Ces widgets sont dans un DockLayout
:
RootLayoutPanel rootLayoutPanel = RootLayoutPanel.get();
DockLayoutPanel dock = new DockLayoutPanel(Unit.EM);
dock.addWest(new Widget1(), 10);
dock.add(new Widget2());
rootLayoutPanel.add(dock);
J'ai déclaré un handleClickAlert
dans Widget1
:
@UiHandler("button")
void handleClickAlert(ClickEvent e) {
//fireEvent(e);
}
Vous devez vous connecter pour publier un commentaire.
Lorsque vous divisez le projet en parties logiques (par exemple avec MVP), puis les différentes pièces ont parfois besoin de communiquer. Typique de cette communication est effectuée par l'envoi de changements de statut, par exemple:
À l'aide de l'événement de bus est tout à fait logique dans ces cas.
À utiliser, il suffit d'instancier un
EventBus
par app qui est ensuite utilisé par toutes les autres classes. Pour atteindre cette utilisation d'un champ statique, d'une usine ou d'injection de dépendance (GIN en cas de GWT).Exemple avec vos propres types d'événements:
Normalement vous pouvez également créer vos propres types d'événements et des gestionnaires:
et le gestionnaire:
Puis vous l'utiliser comme ceci:
et le feu de l'événement:
GenericEvent
.