Use an actual input file to monitor rather than inducing progress manually
/*
Java Swing, 2nd Edition
By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole
ISBN: 0-596-00408-7
Publisher: O'Reilly
*/
// ProgressMonitorInputExample.java
// Simpilar to the ProgressMonitorExample except that we can now use an
// actual input file to monitor rather than inducing progress manually.
// The file to load should be passed as a command line argument.
//
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JOptionPane;
import javax.swing.ProgressMonitorInputStream;
public class ProgressMonitorInputExample {
public ProgressMonitorInputExample(String filename) {
ProgressMonitorInputStream monitor;
try {
monitor = new ProgressMonitorInputStream(null, "Loading "
+ filename, new FileInputStream(filename));
while (monitor.available() > 0) {
byte[] data = new byte[38];
monitor.read(data);
System.out.write(data);
}
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "Unable to find file: "
+ filename, "Error", JOptionPane.ERROR_MESSAGE);
} catch (IOException e) {
;
}
}
public static void main(String args[]) {
new ProgressMonitorInputExample(args[0]);
}
}
Related examples in the same category