Class ProgressHandleMonitor

java.lang.Object
org.esa.snap.rcp.util.ProgressHandleMonitor
All Implemented Interfaces:
ProgressMonitor, org.openide.util.Cancellable

public class ProgressHandleMonitor extends Object implements ProgressMonitor, org.openide.util.Cancellable
A progress monitor that notifies a ProgressHandle instance (of the NetBeans Progress API).

Use case 1:

     ProgressHandleMonitor pm = ProgressHandleMonitor.create("Training");
     Runnable operation = () -> {
         pm.beginTask("Classifier training...", 100);
         try {
             session.startTraining(queryPatches, pm);
         } catch (Exception e) {
             SnapApp.getDefault().handleError("Failed to train classifier", e);
         } finally {
             pm.done();
         }
    };
    ProgressUtils.runOffEventThreadWithProgressDialog(operation, "Extracting Features", pm.getProgressHandle(), true, 50, 1000);
 

Use case 2:

    RequestProcessor.getDefault().post(() -> {
        ProgressHandle handle = ProgressHandleFactory.createHandle("Performing time consuming task");
        ProgressMonitor pm = new ProgressHandleMonitor(handle);
        performTimeConsumingTask(pm);
    });
 
Since:
SNAP 2
  • Constructor Details

    • ProgressHandleMonitor

      public ProgressHandleMonitor(org.netbeans.api.progress.ProgressHandle progressHandle)
  • Method Details

    • create

      public static ProgressHandleMonitor create(String displayName)
    • create

      public static ProgressHandleMonitor create(String displayName, org.openide.util.Cancellable cancellable)
    • getProgressHandle

      public org.netbeans.api.progress.ProgressHandle getProgressHandle()
      Returns:
      The progress handle.
    • setProgressHandle

      public void setProgressHandle(org.netbeans.api.progress.ProgressHandle progressHandle)
      Parameters:
      progressHandle - The progress handle.
    • beginTask

      public void beginTask(String taskName, int totalWork)
      Specified by:
      beginTask in interface ProgressMonitor
    • done

      public void done()
      Specified by:
      done in interface ProgressMonitor
    • internalWorked

      public void internalWorked(double work)
      Specified by:
      internalWorked in interface ProgressMonitor
    • isCanceled

      public boolean isCanceled()
      Specified by:
      isCanceled in interface ProgressMonitor
    • setCanceled

      public void setCanceled(boolean canceled)
      Specified by:
      setCanceled in interface ProgressMonitor
    • setTaskName

      public void setTaskName(String taskName)
      Specified by:
      setTaskName in interface ProgressMonitor
    • setSubTaskName

      public void setSubTaskName(String subTaskName)
      Specified by:
      setSubTaskName in interface ProgressMonitor
    • worked

      public void worked(int work)
      Specified by:
      worked in interface ProgressMonitor
    • cancel

      public boolean cancel()
      Specified by:
      cancel in interface org.openide.util.Cancellable