Hallo,
für eine kleine Anwendung zum Splitten und Packen großer Videodateien habe ich ein Fenster, basierend auf ein JFrame, über das der Nutzer die zu splittende Datei bzw. das zu packende Dateien-Paket selektieren kann. Je nach Auswahl wird für einen der zwei Aktions-Buttons ("Splitten" und "Packen") Enabled auf true gesetzt. Gleichzeitig wird in der Statuszeile angezeigt, was mit der ausgewählten Datei gemacht werden kann. Über den freigegebenen Button kann nun die Splitt- oder Pack-Aktion gestartet werden.
So weit funktioniert alles. Auch der anschließende Splitt- oder Pack-Vorgang läuft reibungslos ab.
Zwei Dinge funktionieren allerdings nicht:
1.
Ein dritter Button, über den im Normalfall das Programm beendet werden kann, soll während einer Splitt- oder Packaktion als Abbruch-Button umfunktioniert werden. Das geschieht durch das Setzen eines Aktions-Flags und Änderung der Beschriftung des Buttons.
2.
Der für das Splitten oder auch Packen erforderliche Dateitransfer läuft mit transferTo() über zwei FileChannels. Die Daten werden dabei in 16 MByte Blöcken transveriert. Nach jedem Transfer eines Blockes wird der Verlaufsfortschritt in Prozent berechnet und soll in der Statuszeile angezeigt werden.
Weder die Änderung der Button-Beschriftung noch die Fortschrittsanzeige funktionieren. Kommentiere ich den Aufruf der Transfer-Methode für das Splitten oder Packen aus, dann wird die Button-Beschriftung geändert. Die Fortschrittsanzeige kann dann natürlich nicht erfolgen.
Hat jemand eine Ahnung, was die Ursache dafür sein kann, dass auf dem Anwederfenster während einer Splitt- oder Packaktion (und auch kurz vorher schon), keine Änderungen (Textausgabe, Buttonbeschriftung) asgeführt wird, auch wenn ich explizit nach jeder Änderung repaint() aufrufe.
Ich bin mir sicher, dass der Fehler allein bei mir liegt, aber in diesem Falle weiß ich nun wirklich nicht mehr weiter.
MfG, Konrad
für eine kleine Anwendung zum Splitten und Packen großer Videodateien habe ich ein Fenster, basierend auf ein JFrame, über das der Nutzer die zu splittende Datei bzw. das zu packende Dateien-Paket selektieren kann. Je nach Auswahl wird für einen der zwei Aktions-Buttons ("Splitten" und "Packen") Enabled auf true gesetzt. Gleichzeitig wird in der Statuszeile angezeigt, was mit der ausgewählten Datei gemacht werden kann. Über den freigegebenen Button kann nun die Splitt- oder Pack-Aktion gestartet werden.
So weit funktioniert alles. Auch der anschließende Splitt- oder Pack-Vorgang läuft reibungslos ab.
Zwei Dinge funktionieren allerdings nicht:
1.
Ein dritter Button, über den im Normalfall das Programm beendet werden kann, soll während einer Splitt- oder Packaktion als Abbruch-Button umfunktioniert werden. Das geschieht durch das Setzen eines Aktions-Flags und Änderung der Beschriftung des Buttons.
2.
Der für das Splitten oder auch Packen erforderliche Dateitransfer läuft mit transferTo() über zwei FileChannels. Die Daten werden dabei in 16 MByte Blöcken transveriert. Nach jedem Transfer eines Blockes wird der Verlaufsfortschritt in Prozent berechnet und soll in der Statuszeile angezeigt werden.
Weder die Änderung der Button-Beschriftung noch die Fortschrittsanzeige funktionieren. Kommentiere ich den Aufruf der Transfer-Methode für das Splitten oder Packen aus, dann wird die Button-Beschriftung geändert. Die Fortschrittsanzeige kann dann natürlich nicht erfolgen.
Hat jemand eine Ahnung, was die Ursache dafür sein kann, dass auf dem Anwederfenster während einer Splitt- oder Packaktion (und auch kurz vorher schon), keine Änderungen (Textausgabe, Buttonbeschriftung) asgeführt wird, auch wenn ich explizit nach jeder Änderung repaint() aufrufe.
Ich bin mir sicher, dass der Fehler allein bei mir liegt, aber in diesem Falle weiß ich nun wirklich nicht mehr weiter.
MfG, Konrad
Zuletzt bearbeitet: