A Task Which Returns An ObservableList : Task « JavaFX « Java






A Task Which Returns An ObservableList

 
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
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<ObservableList<String>> task = new Task<ObservableList<String>>() {
      @Override protected ObservableList<String> call() throws Exception {
          updateMessage("message");
          ObservableList<String> results = FXCollections.observableArrayList();
          for (int i=0; i<10; i++) {
              if (isCancelled()) 
                break;
              results.add("");
              updateProgress(i, 100);
          }
          return results;
      }
    };
    task.run();
    System.out.println(task.getMessage());

    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 Modifies The Scene Graph
4.A Task Which Takes Parameters
5.Writing a Task
6.A Simple Loop With Progress Notification
7.A Simple Loop With Progress Notification And Blocking Calls
8.Reacting To State Changes