如何监听GWT事件总线上发送的所有事件?

时间:2011-12-21 22:01:55

标签: gwt event-bus

我希望能够收听Event Bus上发送的所有事件,无论其类型如何。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

从托马斯的建议中得到启示,这是一个示例解决方案:

    public class MyEventBus extends SimpleEventBus {

    @Override
    public void fireEvent( GwtEvent<?> event ) {
        trackEvent( "Event Fired", event.getClass().toString() );
        super.fireEvent( event );
    }

    public native void trackEvent( String category, String action ) /*-{
        $wnd._gaq.push([ '_trackEvent', category, action ]);
    }-*/;
}

答案 1 :(得分:3)

SimpleEventBus不允许你这样做,但你可以轻松地包装或扩展它并覆盖fireEvent等。赶上所有派出的活动。