JavaFX带有进度指示器的奇怪行为

时间:2012-11-08 13:24:10

标签: java javafx-2 javafx

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

// 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);
}

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

1 个答案:

答案 0 :(得分:0)

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