Hi,
[Problem voran gestellt: ProgressMonitor wird aufgerufen, ist aber völlig weiss!]
[Beside: Während des Problems bleibt beim minimieren und wiederaufrufen nur der schwarze Hintergrund des Fensters übrig.]
ich habe ein Kompressionsprogramm geschrieben. Mit einem sehr aufwändigen und zeitintensiven Algorithmus werden die Dateien eingelesen und nach einem speziellen Vorgang komprimiert. Es erreicht eine höhere Kompressionsrate als WinRar worauf ich schonmal sehr stolz bin
Jedoch ist diese Verarbeitung sehr Zeitintensiv. Und kann bei einer 500KByte Musikdatei schonmal 10-20Minuten in Anspruch nehmen.
Also hab ich zwei Progress(InputStream)Monitoren eingebaut. Damit man sich nicht wundert warum denn nichts passiert.
Das Problem: Die ProgressMonitoren sind weiss!
Solange ich den Algorithmus direkt beim Aufruf des JFrames durch die MainKlasse aufrufe, sieht es so aus:
Das hab ich die ganze Programmierzeit über gemacht, damit ich nicht jedesmal das Programm starten musste und auf Fensterausbau warten musste.
Jetzt ist es fertig, und jetzt rufe den Algorithmus per Klick auf einen Button aus. Und jetzt ist es nunmal weiss! Ich weiss nicht wieso, und evt. könnt ihr mir bei der Sache ja helfen.
Ich hab bereits versucht, den ganzen Prozess nochmal in eine eigene Klasse zu packen, die beim Aufruf durch Klick des Buttons ausgeführt wird. Aber anscheinend funtkioniert es nur, wenn ich es von der MainMethode aufrufe. Und da liegt nunmal das Problem. Ich möchte ja nicht jedesmal beim start den Prozess starten.
Zum Code gibt es nicht viel zu sagen:
-> Klick auf Button: komprimieren();
Teil-Code:
Den ganzen Code spar ich mir mal, sonst würde ich ja kein ProgressMonitor brauchen 
Danke für jede Hilfe, und für jede Mühe den Text hier durchzukauen.
[Problem voran gestellt: ProgressMonitor wird aufgerufen, ist aber völlig weiss!]
[Beside: Während des Problems bleibt beim minimieren und wiederaufrufen nur der schwarze Hintergrund des Fensters übrig.]
ich habe ein Kompressionsprogramm geschrieben. Mit einem sehr aufwändigen und zeitintensiven Algorithmus werden die Dateien eingelesen und nach einem speziellen Vorgang komprimiert. Es erreicht eine höhere Kompressionsrate als WinRar worauf ich schonmal sehr stolz bin
Jedoch ist diese Verarbeitung sehr Zeitintensiv. Und kann bei einer 500KByte Musikdatei schonmal 10-20Minuten in Anspruch nehmen.
Also hab ich zwei Progress(InputStream)Monitoren eingebaut. Damit man sich nicht wundert warum denn nichts passiert.
Das Problem: Die ProgressMonitoren sind weiss!

Solange ich den Algorithmus direkt beim Aufruf des JFrames durch die MainKlasse aufrufe, sieht es so aus:

Das hab ich die ganze Programmierzeit über gemacht, damit ich nicht jedesmal das Programm starten musste und auf Fensterausbau warten musste.
Jetzt ist es fertig, und jetzt rufe den Algorithmus per Klick auf einen Button aus. Und jetzt ist es nunmal weiss! Ich weiss nicht wieso, und evt. könnt ihr mir bei der Sache ja helfen.
Ich hab bereits versucht, den ganzen Prozess nochmal in eine eigene Klasse zu packen, die beim Aufruf durch Klick des Buttons ausgeführt wird. Aber anscheinend funtkioniert es nur, wenn ich es von der MainMethode aufrufe. Und da liegt nunmal das Problem. Ich möchte ja nicht jedesmal beim start den Prozess starten.
Zum Code gibt es nicht viel zu sagen:
-> Klick auf Button: komprimieren();
Teil-Code:
Java:
void komprimieren()
{
try
{
File file = new File("Test.dat");
InputStream fis = new BufferedInputStream(
new ProgressMonitorInputStream(
this,
"Initialisierung...",
new FileInputStream(file)));
while( (bit = fis.read()) != -1 )
{
zeilenbit += bit;
}
Danke für jede Hilfe, und für jede Mühe den Text hier durchzukauen.
Zuletzt bearbeitet: