A Simple Loop With Progress Notification : Task « JavaFX « Java






A Simple Loop With Progress Notification

 


import javafx.application.Application;
import javafx.concurrent.Task;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Main extends Application {

  @Override
  public void start(Stage stage) {
    Group root = new Group();
    Scene scene = new Scene(root, 300, 150);
    stage.setScene(scene);
    stage.setTitle("Sample");

    Task<Integer> task = new Task<Integer>() {
      @Override protected Integer call() throws Exception {
          int iterations;
          for (iterations = 0; iterations < 10000000; iterations++) {
              if (isCancelled()) {
                  updateMessage("Cancelled");
                  break;
              }
              updateMessage("Iteration " + iterations);
              updateProgress(iterations, 10000000);
          }
          return iterations;
      }
  };

 
  task.run();
  System.out.println(task.getMessage());
  //  root.getChildren().add(t);


    stage.show();
  }

  public static void main(String[] args) {
    launch(args);
  }
}

   
  








Related examples in the same category

1.extends Task
2.A Task Which Returns No Value
3.A Task Which Returns An ObservableList
4.A Task Which Modifies The Scene Graph
5.A Task Which Takes Parameters
6.Writing a Task
7.A Simple Loop With Progress Notification And Blocking Calls
8.Reacting To State Changes