我正在做一个登录屏幕,我想在执行用户身份验证过程时显示一个进度指示器。我正在做这样的事情。
// 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() 时,指示器不会显示。有什么线索吗?