如何实现GWT、Java、button和clickhandler

如何实现GWT、Java、button和clickhandler,java,gwt,button,Java,Gwt,Button,如果这个问题已经被问到和回答,请原谅我,因为如果有,我就无法找到它 我可以找到如下几个例子 button.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { ... stuff ... } }); 我试图理解如何使用以下结构实现按钮单击处理程序 public class myClass implements EntryPoint { final Butt

如果这个问题已经被问到和回答,请原谅我,因为如果有,我就无法找到它

我可以找到如下几个例子

button.addClickHandler(new ClickHandler() {
    public void onClick(ClickEvent event) {
        ... stuff ...
    }
});
我试图理解如何使用以下结构实现按钮单击处理程序

public class myClass implements EntryPoint {
    final Button MyButton = new Button("text");
        :
        :
    void onClickMyButton(???) {
            ... stuff ...
    }
        :
        :
}
对“我”来说,这种结构更容易阅读,这正是我喜欢的编码风格。但我不知道如何实现它

我将Eclipse和GWT用于Java Web应用程序。任何帮助都将不胜感激。

public class myClass implements EntryPoint, ClickHandler {
    final Button myButton = new Button("text");
        :
        :
    myButton.addClickHandler(this);


    @Override
    void onClick(ClickEvent event) {
            ... stuff ...
    }
}


第二个更干净,允许使用单独的方法处理多个按钮。

我两个都喜欢,但我对第一个有一个问题。如果我有多个按钮(比如3个),如何识别哪个按钮被点击?或者这就是第二个答案发挥作用的地方吗?是的,第二个答案要干净得多。在第一个例子中,您需要调用
event.getSource()
来知道单击了哪个按钮(我猜,因为您没有GWT的经验)。另外请注意,如果您使用UiBinder构建视图,只需使用
@UiHandler(“myButton”)
对该方法进行注释即可,假设
MyButton
已用
@UiField
注释。
public class myClass implements EntryPoint {
    final Button myButton = new Button("text");
        :
        :
    myButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {
            onClickMyButton(event);
        }
    });

    private void onClickMyButton(ClickEvent event) {
            ... stuff ...
    }
}