private void jButtonExportActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_jButtonExportActionPerformed
   int count = 0;
   for (Object obj : exportObjs) {
     if (obj instanceof ROI) {
       count++;
     }
     if (obj instanceof ROI_Folder) {
       ArrayList<ROI> rois = ((ROI_Folder) obj).getROIs();
       count += rois.size();
     }
   }
   UIManager.put("ProgressBar[Enabled].foregroundPainter", new ProgressBarForegroundPainter());
   final AVM_ProgressMonitor pm =
       new AVM_ProgressMonitor(rootPane, "Exporting ROIs", "", 0, count + 1);
   Executors.newSingleThreadExecutor()
       .submit(
           () -> {
             int progress = 0;
             for (Object obj : exportObjs) {
               if (obj instanceof ROI) {
                 ROI roi = (ROI) obj;
                 pm.setNote("Exporting " + roi.getParent().toString() + "\"" + roi.toString());
                 pm.setProgress(progress++);
                 exportROI(roi);
                 if (pm.isCanceled()) {
                   return;
                 }
               }
               if (obj instanceof ROI_Folder) {
                 ArrayList<ROI> rois = ((ROI_Folder) obj).getROIs();
                 for (ROI roi : rois) {
                   pm.setNote("Exporting " + roi.getParent().toString() + "\"" + roi.toString());
                   pm.setProgress(progress++);
                   exportROI(roi);
                   if (pm.isCanceled()) {
                     return;
                   }
                 }
               }
             }
             pm.close();
             setVisible(false);
           });
 } // GEN-LAST:event_jButtonExportActionPerformed