diff --git a/test/jdk/javax/swing/ProgressMonitor/ProgressTest.java b/test/jdk/javax/swing/ProgressMonitor/ProgressTest.java index 776cb720ae1..e06cba6cfb0 100644 --- a/test/jdk/javax/swing/ProgressMonitor/ProgressTest.java +++ b/test/jdk/javax/swing/ProgressMonitor/ProgressTest.java @@ -30,11 +30,11 @@ */ import java.io.InputStream; - +import java.awt.EventQueue; import javax.swing.ProgressMonitorInputStream; public class ProgressTest { - + static volatile long total = 0; private static final String instructionsText = "A ProgressMonitor will be shown.\n" + " If it shows blank progressbar after 2048MB bytes read,\n"+ @@ -69,15 +69,20 @@ public class ProgressTest { public void run() { byte[] buffer = new byte[512]; int nb = 0; - long total = 0; while (true) { try { nb = pmis.read(buffer); } catch (Exception e){} if (nb == 0) break; total += nb; - - pmis.getProgressMonitor().setNote(total/(1024*1024)+" MB Read"); + System.out.println("total " + total); + if ((total % (1024*1024)) == 0) { + try { + EventQueue.invokeAndWait(() -> { + pmis.getProgressMonitor().setNote(total/(1024*1024)+" MB Read"); + }); + } catch (Exception e) {} + } } } };