| Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme. |
Diskussion: Java-Ladebalken-Problem im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo zusammen. Ich bin im Moment gerade an einem kleinen Programm zur Dateverschiebung dran. Es läuft alles und jetzt ...
![]() |
| | #1 (permalink) |
| Registriert seit: 10.12.10 ![]() Likes: 0 | Anzeige Hallo zusammen. Ich bin im Moment gerade an einem kleinen Programm zur Dateverschiebung dran. Es läuft alles und jetzt bin ich noch ein bisschen an der grafischen Umsetzung dran und hier steh ich vor einem Problem. Ich will einen Ladebalken einführen der Eingermassen genau den Fortschritt anzeigen sollte. Ich frage mich nun wie ich das anstellen soll. Ich verschiebe Bild-Dateien mit dem Input+Output Stream... Hat jemand eine Idee wie man das am besten mit der JProgressBar lösen könnte ohne eine FakeBar mit einem Vorgegebenen Wert zu starten. Ich hoffe hier hat es auch Java-Spezialisten |
| | |
| | #2 (permalink) |
| Moderator ![]() Registriert seit: 11.02.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 229 | Hi, in Java stellt Swing die JProgressBar zur Verfügung um dem Benutzer ein Fortschritts-Feedback zu geben. Du könntest den Balken z. B. nach jeder verschobenen Datei aktualisieren... Diese Links könnten vermutlich nützlich für Dich sein: http://www.dpunkt.de/java/Programmie...ierung/44.html http://download.oracle.com/javase/tu.../progress.html |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) | |
| Themenstarter Registriert seit: 10.12.10 ![]() Likes: 0 | Zitat:
| |
| | |
| | #4 (permalink) | ||
| Moderator ![]() Registriert seit: 11.02.06 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 229 | Zitat:
Zitat:
| ||
| | |
| | #5 (permalink) |
| Na, das einmalige Abfragen der Dateigröße als Endwert kann ja wohl nicht das Problem sein, oder? Und für das Umkopieren kannst du einfach einen Puffer verwenden, über den du die bisher kopierte Datenmenge abfragen kannst. Das langwierige beim umkopieren sind sowieso die I/O-Operationen, das bisschen Prozessorbelastung fällt da nicht ins Gewicht. Probiers mal so: Code: import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class Copy {
public static void main(String[] args) {
JFrame wnd = new JFrame("Kopieren");
wnd.setSize(300, 50);
JProgressBar progress = new JProgressBar();
wnd.add(progress);
wnd.setLocationRelativeTo(null);
wnd.setVisible(true);
progress.setMaximum(1000);
progress.setValue(0);
progress.setIndeterminate(false);
try {
File source = new File("Demo.avi");
long max = source.length();
long copied = 0;
BufferedInputStream strin = new BufferedInputStream(new FileInputStream("Demo.avi"));
BufferedOutputStream strout = new BufferedOutputStream(new FileOutputStream("Destination.avi"));
byte[] buffer = new byte[1024];
int len;
while((len = strin.read(buffer)) > -1) {
strout.write(buffer, 0, len);
// Progressbar
copied += len;
int promille = (int) (copied * 1000.0 / max);
progress.setValue(promille);
}
strout.flush();
strin.close();
strout.close();
} catch (IOException e) {
e.printStackTrace();
}
wnd.dispose();
}
}
__________________ Wenn keiner zuschaut, teile ich heimlich durch Null! Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter | |
| | |
![]() |
| Stichworte |
| java, jprogressbar, ladebalken |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |