Захват событий мыши на горизонтальной панели в GWT - PullRequest
2 голосов
/ 22 февраля 2012

Есть ли способ захвата событий мыши на горизонтальной панели в 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());*/
        }

    };

Я понятия не имею, почему это не работает.любая помощь будет оценена.Спасибо

Ответы [ 2 ]

7 голосов
/ 22 февраля 2012

Вместо ручного погружения и чтения событий вы можете использовать Widget # addDomHandler () :

HorizontalPanel container = new HorizontalPanel();
ClickHandler cHandler = new ClickHandler(){ /* ... */ };
MouseDownHandler mdHandler = new MouseDownHandler(){ /* ... */ };
container.addDomHandler(cHandler, ClickEvent.getType());
container.addDomHandler(mdHandler, MouseDownEvent.getType());
0 голосов
/ 24 мая 2016

Вы можете использовать FocusPanel. Например:

HorizontalPanel yourContainer = new HorizontalPanel();

FocusPanel wrapper = new FocusPanel();
wrapper.add(yourContainer );

wrapper.addClickHandler(new ClickHandler() {
  @Override
  public void onClick(ClickEvent event) {
    // Handle the click
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...