Javafx-从Java类更新UI中的进度指示器

问题描述 投票:0回答:1

以下是我在fxml中所做的更改

java文件中的更改,这里是我的代码:

private ProgressIndicator pi;

void handlebuildButtonAction(ActionEvent event) throws IOException, GeneralSecurityException {

if ((entServer.isSelected()==true || compasServer.isSelected()==true)) {

            if(!fileList.isEmpty()){
                ProgressIndicator pi = new ProgressIndicator();
                pi.setProgress(10);
}
}

运行应用程序时进度指示器未更新。我不确定如何将更改同步到UI。协助我。预先感谢。

output

java user-interface javafx scenebuilder progress-indicator
1个回答
0
投票

这里是带有按钮的示例,当您单击按钮时,进度指示器将更新:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.layout.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class Test extends Application {
    private ProgressIndicator pi;
    // launch the application
    public void start(Stage stage)
    {
        ProgressIndicator pi = new ProgressIndicator();
        Button button = new Button("");

        TilePane root = new TilePane();

        // action event
        EventHandler<ActionEvent> event = new EventHandler<ActionEvent>() {
            public void handle(ActionEvent e)
            {
                pi.setProgress(10);
            }
        };


        button.setOnAction(event);

        root.getChildren().add(button);
        root.getChildren().add(pi);

        // create a scene
        Scene scene = new Scene(root, 200, 200);

        // set the scene
        stage.setScene(scene);

        stage.show();
    }

    public static void main(String args[])
    {
        // launch the application
        launch(args);
    }
} 
© www.soinside.com 2019 - 2024. All rights reserved.