我需要创建 2 个名为 yes 和 no 的通用按钮,如果没有,则返回 2,如果是,则返回 1。我看到 onclick 方法是 void 并且不返回 int,我该怎么办?
YesButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
??? result ??
}
});
这不是这样做的方法。不知道您的具体要求会有点困难,但我会冒险提出建议。首先定义一个controller/mediator/whachamacallit,其中包含视图可以执行的操作:
public interface MyListener
{
void onYesClick();
void onNoClick();
}
(也可以是一个具体的类,但是 yes 和 no click 看起来很通用,所以我们可以在其他地方重用它)
在您的视图类中,您将拥有
public class MyView
{
private MyListener listener;
private Button yesButton = new Button( "yessir!" );
private Button noButton = new Button( "no way!" );
public MyView( MyListener listener ) { this.listener = listener; }
yesButton.addClickHandler( new ClickHandler()
{
@Override
public void onClick( ClickEvent event )
{
listener.onYesClick(); // similarly .onNoClick() for the "No" button
}
} );
// etc
...
}
希望对您有所帮助。