 <p>Perhaps it can be achieved by wrapping the <code>InputStream</code> in a <a href="http://docs.oracle.com/javase/7/docs/api/javax/swing/ProgressMonitorInputStream.html#ProgressMonitorInputStream%28java.awt.Component,%20java.lang.Object,%20java.io.InputStream%29" rel="nofollow"><code>ProgressMonitorInputStream</code></a>. But make sure you do not block the Event Dispatch Thread, or it will freeze until completion. </p> <p>See <a href="http://docs.oracle.com/javase/tutorial/uiswing/components/progress.html" rel="nofollow">How to Use Progress Bars</a> for details.</p>