0

私のコードは次のとおりです。アプリを実行すると、adminLinkがクリックされていない場合でもloadWidgetメソッドが呼び出されることがわかります。これは私が望んでいることではありませんが、何が問題を引き起こしているのかわかりません。お知らせ下さい

public class LoginModule implements EntryPoint {
    LoginPopup loginPopup;

      private class LoginPopup extends PopupPanel {

            public LoginPopup() {
              super(true);      
            }    

            public void loadWidget(){
                System.out.println("I am called 1");

                CommonUi cUi = new CommonUi();
                  //#342 moved code to common area
                  FormPanel loginForm = cUi.getLoginFormUi();
                  setWidget(loginForm);
            }
     }


    @Override
    public void onModuleLoad() {
        //#251 improved login popup ui.
        final Anchor adminLink = new Anchor("User Login");
    //  final Label adminLink = new Label("User Login");
        adminLink.addClickHandler(new ClickHandler() {
              public void onClick(ClickEvent event) {
                // Instantiate the popup and show it.
                loginPopup =   new LoginPopup();
                loginPopup.loadWidget();
                loginPopup.showRelativeTo(adminLink);
                loginPopup.show();
              }
            });

        if(RootPanel.get("admin") !=null)
            RootPanel.get("admin").add(adminLink);

    }

}
4

1 に答える 1

1

開発モードを実行し、Java IDE でそのメソッドにブレークポイントを設定し、現在のスタックを見て、どのコードがそのメソッドを呼び出しているかを調べます。それがアプリ内の唯一のコードである場合、これはその onClick ハンドラーからしか呼び出せないように見えるため、なぜそれが呼び出されているのかを理解することが重要です。

于 2012-06-04T18:23:39.037 に答える