0
私はselectBoxとtableを持つUIBinderを構築しました。テーブルにはdbのデータが格納されます。 selectBoxの選択を変更すると、新しいデータを取得するためにクエリを実行してください。 私はスクリーンビューでウィジェットを使用し、プレゼンターでウィジェットを開始します。 UBinderの は、selectBoxが変更されたときにイベントを発生させましたが、プレゼンターで捕捉できません。 どのように私はそれを正常に行うことができます。ウィジェットで 私のイベント:GWTはUIBinderのイベントを処理します
@Override
public void onChange(ChangeEvent event)
{
KPIOptionChangedEvent e = new KPIOptionChangedEvent();
fireEvent(e);
}
プレゼンターでのイベントをキャッチ:
eventBus.addHandler(KPIEvents.KPIOptionChangedEvent.TYPE,
new KPIHandlers.KPIOptionChangedHandler()
{
@Override
public void execute(KPIOptionChangedEvent event)
{
Window.alert(event.getKPI().getName());
}
});
おかげ
その私が今、それが動作していない何: KPIOptionChangedEvent電子=新しいKPIOptionChangedEvent(); \t \t \t \t \t \t HandlerManager eventBus = new HandlerManager(this); \t \t \t eventBus.fireEvent(e); \t \t \t \t \t \t} – Rami
あなたは、アプリケーションごとに1つだけEventBusを作成する必要があります - 彼らは自分たちの間で通信していないとそれだけで混乱を作成するように、複数のEventBusesを作成する必要は、ありません。 メインクラスの1つに静的フィールドを使用します。 –
私は理解していますが、私のオブジェクトは、メインまたは他の論理クラスのものに接続されるべきではありません。それは依存して行動すべきです。 – Rami