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 回答