在GWT中捕获水平面板上的鼠标事件

rav*_*avi 2 gwt

有没有办法在gwt的水平面板上捕获鼠标事件?我正在尝试捕获mousedown或onclick事件,但我无法让它工作.这就是我到目前为止所做的

final HorizontalPanel container = new HorizontalPanel() {
        @Override
        public void sinkEvents(int eventBitsToAdd) {
            // TODO Auto-generated method stub
            super.sinkEvents(Event.ONCLICK);
        }

        @Override
        public void onBrowserEvent(final Event event) {
            // TODO Auto-generated method stub
            super.onBrowserEvent(event);
            if (DOM.eventGetType(event) == Event.ONCLICK) {
                    System.out.println("event type -->> " + event.getType());
            }
            /*if(Event.ONMOUSEDOWN == arg0.getTypeInt())
            System.out.println("event type -->> " + arg0.getType());*/
        }

    };
Run Code Online (Sandbox Code Playgroud)

我不知道为什么这不起作用.任何帮助,将不胜感激.谢谢

Dan*_*ier 7

您可以考虑使用Widget#addDomHandler()而不是手动下沉和读取事件:

HorizontalPanel container = new HorizontalPanel();
ClickHandler cHandler = new ClickHandler(){ /* ... */ };
MouseDownHandler mdHandler = new MouseDownHandler(){ /* ... */ };
container.addDomHandler(cHandler, ClickEvent.getType());
container.addDomHandler(mdHandler, MouseDownEvent.getType());
Run Code Online (Sandbox Code Playgroud)