Pages

Friday, September 20, 2013

Java Swing - menggunakan progress monitor

java image
Pada postingan kali ini kita akan menggunakan salah satu class yang sangat berguna untuk me-monitor kemajuan suatu proses pembacaan/penerimaan aliran data, misal proses pembacaan data dari suatu file. dengan menggunakan progress monitor kita dapat memperkirakan berapa lama waktu yang dibutuhkan untuk melakukan operasi pembacaan data dari suatu file, selain itu penggunaan progress monitor juga akan membuat program kita menjadi lebih interaktif.
dibawah ini adalah contoh program yang memanfaatkan class ProgressMonitorInputStream untuk me-monitor kemajuan proses pembacaan data suatu file, class ProgressMonitorInputStream sendiri didefinisikan dalam package javax.swing.ProgressMonitorInputStream.

package readingmonitor;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.ProgressMonitorInputStream;

public class ReadingMonitor {

    static private File file;

    static {
        file = new File("src/readingmonitor/folder/firstcup.pdf");
    }

    static private void readFile() throws FileNotFoundException, IOException, 
            InterruptedException {
        int i = 0;
        ProgressMonitorInputStream pms = new ProgressMonitorInputStream
                (new JFrame(), "reading " + file.getName() + "...",
                new FileInputStream(file));
        while ((i = pms.read()) != -1) {
            if (pms.read() == -1) {
                pms.close();
            }
        }
    }

    public static void main(String[] args) {
        // TODO code application logic here
        try {
            ReadingMonitor.readFile();
        } catch (FileNotFoundException ex) {
            System.out.println("File not found!");
        } catch (IOException | InterruptedException ex) {
            System.out.println("Interrupted!");
            System.exit(1);
        } finally {
            System.exit(2);
        }
    }
}

output:

java image

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...