0

我正在使用下面的代码来显示加载任务的进度指示器。我正在使用来自 ControlsFX 进度指示器的 MaskerPane。但是当我使用该组件时,maskerpane 只显示 1 次。请建议一种更好的方法来显示进度指示器。

@FXML
    private MaskerPane progressPane;
 @FXML
        private void addMemberSelect() {
            Task task = new Task<Void>() {
                @Override
                protected Void call() throws Exception {
                    progressPane.setVisible(true);
                    return null;
                }
                @Override
                protected void succeeded(){
                    super.succeeded();
                    content.setContent(null);
                    ScreensController colllectScreenController = new ScreensController();
                    colllectScreenController.loadScreen(Screens.ADD_MEMBER);
                    colllectScreenController.setScreen(Screens.ADD_MEMBER);
                    content.setContent(colllectScreenController);
                    progressPane.setVisible(false);
                }
            };
            new Thread(task).start();
        }
4

1 回答 1

2

这个例子可以帮助你。

public class MaskerPaneTest extends Application {
@Override
public void start(Stage primaryStage) throws Exception {

    MaskerPane progressPane = new MaskerPane();
    progressPane.setVisible(false);

    Button button = new Button("Show");
    button.setOnAction(event -> {

            Task task = new Task<Void>() {
                @Override
                protected Void call() throws Exception {
                    progressPane.setVisible(true);
                    Thread.sleep(2000);
                    return null;
                }
                @Override
                protected void succeeded(){
                    super.succeeded();
                    progressPane.setVisible(false);
                }
            };
            new Thread(task).start();
        });
    VBox box = new VBox(button, progressPane);
    box.setAlignment(Pos.CENTER);
    Scene scene = new Scene(box, 200, 200);
    primaryStage.setScene(scene);
    primaryStage.show();
}

来源:https ://gist.github.com/TheItachiUchiha/13f8cc637872ebac4385f92cd16075a7

我对其进行了测试,并且效果很好,因此您可以对其进行调整。

于 2017-09-20T14:25:35.813 回答