0

我正在做一个登录屏幕,我想在执行用户身份验证过程时显示一个进度指示器。我正在做这样的事情。

// Handler for Button[fx:id="login"] onAction
public void handleLogin(ActionEvent event) {
    // Show loading indicator
    showLoadingImg();

    // User authentication
    String userName = user.getText();
    String password = psw.getText();

    OrdLogin ord = new OrdLogin();
    ord.setUserName(userName);
    ord.setPassword(password);
    ord.run();

    Authentication auth = orden.getInfoAutenticacion();
    if(auth == null){
        // Remove the loading indicator
        contProgress.getChildren().remove(1);

        // Show an error message
        msgError.setText("Incorrect password/user");
        msgError.setPrefHeight(Region.USE_COMPUTED_SIZE);
    } else {
        // login successful!
                    ...
    }
}

private void showLoadingImg() {     
    // Show loading indicator
    ProgressIndicator progress = new ProgressIndicator();
    contProgress.getChildren().add(progress);
}

如果我在我的初始化方法中运行 showLoadingImg(),指示器会正确显示,但是当我在 handleLogin 中执行 showLoadingImg() 时,指示器不会显示。有什么线索吗?

4

1 回答 1

0

如果 auth 为 null,则进度指示器将从 contProgress 容器中删除。您是否通过软件进行了调试以查看是否发生这种情况?

于 2012-11-08T15:56:52.400 回答