Полагаю, что у вас проблемы с анонимным классом. Здесь происходит то, что вы вызываете метод addClickHandler для объекта helloBtn и передаете ему экземпляр анонимного класса.
Метод addClickHandler принимает экземпляр ClickHandler в качестве аргумента. Следующий код создает анонимный класс, который реализует интерфейс ClickHandler.
new ClickHandler() {
public void onClick(ClickEvent event) {
Window.alert("Hello!");
}
Вы можете представить, как переписать код, сначала определив класс.
public class MyClickHandler implements ClickHandler {
public void onClick(ClickEvent event) {
Window.alert("Hello!");
}
}
Затем создайте экземпляр класса и передайте его методу addClickHandler.
ClickHandler myClickHandler = new MyClickHandler();
helloBtn.addClickHandler(myClickHandler);