1

yes と no という名前の 2 つの汎用ボタンを作成する必要があります。onclick メソッドが void であり、int を返さないことがわかりました。どうすればよいですか?

YesButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            ??? result ??

        }
    });
4

1 に答える 1

1

それはそれを行う方法ではありません。あなたの具体的な要件がわからないので、少し難しくなりますが、あえて提案します。最初に、ビューが実行できる操作でコントローラー/メディエーター/whachamacallit を定義します。

public interface MyListener
{
    void onYesClick();
    void onNoClick();
}

(具象クラスの可能性もありますが、はいクリックといいえクリックは非常に一般的なように見えるため、他の場所で再利用できます)

ビュークラスでは、次のようになります

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
    ...
}

もう少しお役に立てば幸いです。

于 2013-01-04T12:57:19.460 に答える