Example #1
0
  public void writeImage() {
    RenderImageTask renderImage =
        new RenderImageTask(nanColour, imageFriendlyData, hdu, height, width, histogram);

    ChangeListener<Number> IMAGE_CREATED_LISTENER =
        new ChangeListener<Number>() {
          @Override
          public void changed(
              ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
            if (renderImage.getWorkDone() == 1) {
              image = renderImage.getImage();
              renderImage.workDoneProperty().removeListener(this);
              controller.adjustViewForImage();
              controller.reloadVisibleAnnotationsAndSelections();
            }
          }
        };

    renderImage.workDoneProperty().addListener(IMAGE_CREATED_LISTENER);

    ExecutorService es = controller.createExecutor("RenderImageExecutor");
    es.submit(renderImage);
  }