GWT正在进行意外的事件调用

时间:2012-06-04 18:13:04

标签: gwt

我的代码如下:我看到在运行应用程序时,即使没有单击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);

    }

}

1 个答案:

答案 0 :(得分:1)

运行开发模式,在Java IDE中的该方法中设置断点,并查看当前堆栈,调用该方法的代码。如果这是您的应用程序中唯一的代码,那么这似乎只能从onClick处理程序调用,所以这是一个问题,找出为什么要调用它。