Das Implementieren dieser Funktion ist relativ einfach. Es werden zwei Klassen verwendet: ProgressMonitorInputStream (hauptsächlich die gesamte Klasse) und ProgressMonitor, die in javax.swing sind
Im Allgemeinen müssen Sie zunächst die Größe der gesamten Datei und die Größe der aktuell Lesedatei sowie die Methode zum Erhalt der gesamten Dateigröße kennen
Die Codekopie lautet wie folgt:
ProgressMonitorInputStream Monitor;
/**
* @Param gibt an, an welcher Komponente dieser Fortschrittsleiste angebracht werden soll
* @param zeigt die Nachricht in dieser Fortschrittsleiste an
* @param Eingangsfluss, um zu überwachen
*/
Monitor = New ProgressMonitorInputStream (NULL, "Laden", neuer FileInputStream ("Dateiname Pfad"));
int alle = monitor.available (); // die Größe der gesamten Datei
int in = monitor.read (Daten); // Die Größe der Datei wird jedes Mal gelesen
Zum Beispiel: Jedes Mal, wenn Sie eine Zeile lesen, sTR = in.readline (); wird nicht 100% erreicht erhalten
Die Codekopie lautet wie folgt:
int gelesen = 0; // bedeutet, dass die Datei gelesen wurde
Leser+= in; // Leserdateigröße sammeln
Fortschritt berechnen:
Die Codekopie lautet wie folgt:
float process = (float) read/ alle * 100; // Berechnen Sie den Prozentsatz
Das Fenster wird angezeigt:
Die Codekopie lautet wie folgt:
progresorMonitor.setNote ("archiviert" + prozess + " %"); // Zeigen Sie in der Fortschrittsleiste