gwt イベント バスを介してオブジェクトを送信しようとしていますが、なぜ機能しないのかわかりません。
通常、ポップアップを作成するコンポーネント A があります。A がポップアップに登録され、ポップアップがイベントを発生させます。現在、リスナー (OtherComponent) はポップアップに関連していません。ポップアップがイベントを発生させると、他のコンポーネントはそれをキャッチしません。
これが私のコードです:
ハンドラ:
public interface MyEventHandler extends EventHandler {
public void onChanged(MyEvent event);
}
イベント :
public class MyEvent extends GwtEvent<MyEventHandler> {
private static final GwtEvent.Type<MyEventHandler> TYPE = new GwtEvent.Type<MyHandler>();
private MyBean my;
public MaterielEvent(My bean) {
my = bean;
}
@Override
public com.google.gwt.event.shared.GwtEvent.Type<MyEventHandler> getAssociatedType() {
return TYPE;
}
public static Type<MyEventHandler> getType() {
return TYPE;
}
@Override
protected void dispatch(MyEventHandler handler) {
handler.onChanged(this);
}
public MyBean getBean() {
return my;
}
}
成分 :
public class OtherPanel extends Composite implements HasMyEventHandlers {
interface OtherPanelUiBinder extends UiBinder<Widget, OtherPanel> {}
private static OtherPanelUiBinder uiBinder = GWT.create(OtherPanelUiBinder.class);
public OtherPanel() {
this.addMyEventHandler(new MyEventHandler() {
@Override
public void onChanged(MyEvent event) {
NotificationManager.success("event recieved");
}
});
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public HandlerRegistration addMyEventHandler(MyEventHandler handler) {
return addHandler(handler, MyEvent.getType());
}
}
呼び出し (別のコンポーネント内) :
fireEvent(new MyEvent(myBean));
通知「受信したイベント」は呼び出されません。
私は確かに何かを逃した。ご協力いただきありがとうございます