Решение этого вопроса, похоже, заключается в использовании onMouseDown вместо onClick.
Чтобы избежать изменения всех кнопок в приложении, я хотел изменить addClickHandler виджета Button, чтобы он вместо этого добавлял MouseDownHandler.
Что-то типа
@Override
public HandlerRegistration addClickHandler(ClickHandler clickHandler) {
return button.addMouseDownHandler(new MouseDownHandler() {
@Override
public void onMouseDown(MouseDownEvent event) {
clickHandler.onClick(event);
}
});
}
Но я не могу передать MouseDownEvent в ClickHandler и не могу создать экземпляр ClickEvent.
Как лучше всего пойти?