zweifacher Aufruf animiertes gif

Status
Nicht offen für weitere Antworten.

ulr!ch

Bekanntes Mitglied
Hi JavaGemeinde,

ich habe einen JButton mit einem animierten gif versehen. Beim ersten Mal klappt es ohne Probleme und die "Animation" funktioniert. Zu einem späteren Zeitpunkt rufe ich dasselbe Bild ein weiteres mal auf, allerdings ohne Bewegung. Es scheint, als wenn er beim letzten Frame angelangt ist.
Hat Java das irgendwie gecacht? Wie kann ich das verhindern?
Oder wie schaffe ich es, dass das animierte gif-File auch beim zweiten Mal durchläuft?

Alles Gute,
Ulrich
 
T

tuxedo

Gast
Habe gleiches Problem. Will ein und das selbe animierte Gif (läuft enmal durch, keine Endlosschleife) an mehreren Stellen im Programm verwenden:


Ich verwende dazu JLabels die ein ImageIcon aufgedrückt bekommen. Zuerst soll da ein nicht animiertes Gif rein. Für jedes Label setze ich das ganze etwa so:

Code:
    ImageIcon imageHakenPhase1Aktion1 = new ImageIcon(getClass().getResource("/beergameclient/images/Box_ohne_Haken-1.gif"));
    JLabel labelHakenPhase1Aktion1 = new JLabel(imageHakenPhase1Aktion1);
    ImageIcon imageHakenPhase1Aktion2 = new ImageIcon(getClass().getResource("/beergameclient/images/Box_ohne_Haken-1.gif"));
    JLabel labelHakenPhase1Aktion2 = new JLabel(imageHakenPhase1Aktion2);

Beide Labels werden in ein weiteres Panel in die GUI eingebaut. Zu bestimmten Zeitpunkten werden die Icons wie folgt "gewechselt". Das mache ich etwa so:

Code:
labelHakenPhase1Aktion2.setIcon(new ImageIcon(getClass().getResource("/beergameclient/images/Haken-erledigt.gif")));

'Haken-erledigt.gif' ist animiert und soll einmal durchlaufen (was es betrachtet im IE auch tut).
Gebe ich jetzt wie im letzten Code-Fetzen gezeigt einem Label das neue animierte Gif dann wird dies 1a animiert. funktioniert prima.

Gebe ich jetzt einem weiteren Label auf die selbe Art das neue animierte Gif dann wird das Gif nichtmehr animiert. Es wird sofort das letzte Bild der Animation angezeigt...

Any Ideas ? Gibts da irgenwo nen Image-Cache den man leeren kann ? Oder muss ich die Gif anders laden ???

gruß
Alex
 
T

tuxedo

Gast
Arbeitet denn keiner mit animierten Gifs die er an mehr als einer Stelle im Programm verwendet ?!

- Alex
 

ulr!ch

Bekanntes Mitglied
alex0801 hat gesagt.:
Arbeitet denn keiner mit animierten Gifs die er an mehr als einer Stelle im Programm verwendet ?!
Tja, damals hat ja auch keiner damit etwas zu tun gehabt :), weswegen ich das auch wieder rausgenommen habe. Aber vielleicht kannst du Animation selber zeichen, kommt halt darauf an, wie aufwendig das ganze ist. Wenn es sich um einen fade-in, fade-out-Effekt handelt könnte man vielleicht mit einer for-Schleife die Transparenz herabsetzen bzw. erhöhen. IMO müsste man dann das gif in ein BufferedImage konvertieren, was auch ohne Schwierigkeiten geht.
Was soll den überhaupt dargestellt werden?

By<e Ulrich
 
T

tuxedo

Gast
Ja, das wär ne Möglichkeit, ABER.. das kann doch nicht des Rätsels Lösung sein ? Is ja auch nicht "die feine Art" zu programmieren.

Hab x Foren und UseGroups durchsucht und nix gefunden. Bin schier am verzweifeln.
Gibts denn in Java eventuell einen Image-Cache den man leeren kann ?
hab sogar schon veruscht den Garbage-Collector von Hand anzuwerfen bevor ich das GIF nochmals lade.. Hat auch nix gebracht.

Gruß
Alex
 

ulr!ch

Bekanntes Mitglied
alex0801 hat gesagt.:
Ja, das wär ne Möglichkeit, ABER.. das kann doch nicht des Rätsels Lösung sein ? Is ja auch nicht "die feine Art" zu programmieren.
IMHO sind animated gif nicht gerade der letzte Schrei, wenn man Animationen programmieren möchte, von daher wäre es schon "feiner" das selber zu machen. Wenn man viel mit Graphiken zu tun hat, ist Java vielleicht auch die falsche Programmiersprache.

By<e Ulrich
 
T

tuxedo

Gast
?! D.h. ich soll nur wegen eine kleinen dummen Hakens der sich "abhakt" eine Animation programmieren ?!

Uahhhh, meine Profs würden mir was erzählen. Wieso soll ich denn das Rad neu erfinden ?

Nebenbei hat einer aus meinem Team ne Lösung gefunden: image.flush();

Geht jetzt. 3 Zeilen Code mehr. Bin mir sicher daß wenn ich den doofen Haken mit Java animiert hätte mehr Zeilen hätte tippen müssen. :)

BTW: Wir durften uns für dieses Projekt die Sprache nicht auswählen. Und es geht auch nur um diese 50x50px große Grafik... ;-)

Gruß
- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Zweifacher Try-Catch Allgemeine Java-Themen 6
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
berserkerdq2 Wie mache ich den rekursiven Aufruf in IJVM Allgemeine Java-Themen 3
J Reflection Aufruf: .class durch .dll ersetzen Allgemeine Java-Themen 4
R JDK installieren OpenJDK-Aufruf sehr langsam Allgemeine Java-Themen 4
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
P CMD Aufruf mit Admin-Rechte Allgemeine Java-Themen 2
cool_brivk24 Klassen Klassen Aufruf Fehlgeschlagen Allgemeine Java-Themen 14
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
J Genson - zirkulärer Aufruf Allgemeine Java-Themen 1
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
B Kodierung von String -> URL aufruf Allgemeine Java-Themen 2
G Rekursiver Aufruf von Waagengewichten Allgemeine Java-Themen 2
H Klassennamen zum Aufruf eines statischen Feldes aus Variable holen Allgemeine Java-Themen 4
M datei aufruf prüfen Allgemeine Java-Themen 9
D JNI DLL Aufruf Allgemeine Java-Themen 32
M datei aufruf datum auslesen Allgemeine Java-Themen 5
A Java Verhalten bei parallelem Aufruf derselben Methode?? Allgemeine Java-Themen 2
F Parameter im Link /jar-Aufruf Allgemeine Java-Themen 12
Z Socket Aufruf einer Klasse in einer anderen Klasse Allgemeine Java-Themen 6
A JNI: Unerklärlicher Crash beim Aufruf von CallVoidMethod Allgemeine Java-Themen 9
S Variablen bei Aufruf zurücksetzen Allgemeine Java-Themen 4
J yield() Aufruf in einer synchronized-Methode Allgemeine Java-Themen 13
R JAR aus Batchdatei Aufruf Allgemeine Java-Themen 4
Kr0e Sichtbarkeitsregeln nach Executor-Aufruf Allgemeine Java-Themen 5
F rekursiver Aufruf (Sudoku und Guice) Allgemeine Java-Themen 19
B Cipher.getInstance Aufruf sehr langsam Allgemeine Java-Themen 2
M Aufruf von Unix-Shell in Java Allgemeine Java-Themen 5
G Aufruf einer Methode in IStatus exex Allgemeine Java-Themen 4
E Seltsamer aufruf von java.util.Date.toString() Allgemeine Java-Themen 3
C Netbeans - Aufruf-Reihenfolge Allgemeine Java-Themen 5
Nicer Problem mit Link aufruf Allgemeine Java-Themen 6
M Cobol-Aufruf aus Java Allgemeine Java-Themen 6
C Aufruf einer Methode einer anderen Klasse Allgemeine Java-Themen 14
T Lib/Framework zum Automatischen Aufruf von Methoden Allgemeine Java-Themen 2
R Ableiten - Methoden aufruf bei abgeleiteten Klassen Allgemeine Java-Themen 4
G DAOFactorry aufruf Allgemeine Java-Themen 10
G Aufruf einer Methode wenn Klasse noch nicht existiert Allgemeine Java-Themen 3
V Aufruf von Klasse mit Runnable versteh ich nicht Allgemeine Java-Themen 8
S Übergabe / Aufruf einer beliebigen Methode in einer anderen Allgemeine Java-Themen 9
R toString() methode überschreiben mit rekursivem aufruf. Allgemeine Java-Themen 8
N Main-Klasse wird beim Aufruf des JARs nicht gefunden Allgemeine Java-Themen 8
D Problem bei Aufruf einer Funktion Allgemeine Java-Themen 3
B Null Pointer Exception bei Canvas-objekt-Aufruf Allgemeine Java-Themen 12
S Aufruf in Konsole mit beliebig vielen Argumenten? Allgemeine Java-Themen 18
reibi Aufruf eines private Konstruktors Allgemeine Java-Themen 7
M Rekrusiver Aufruf ? Allgemeine Java-Themen 6
D aufruf beim kopieren Allgemeine Java-Themen 11
J einfachster Servlet-Aufruf klappt nicht Allgemeine Java-Themen 3
J Konstruktor-Aufruf nur aus einem bestimmten Package erlauben Allgemeine Java-Themen 5
S problem mit externen aufruf Allgemeine Java-Themen 4
M [Windows] Aufruf von Java mit Sonderzeichen im Classpath Allgemeine Java-Themen 5
D VM crash nach Aufruf von GetFieldID und GetMethodID in JNI Allgemeine Java-Themen 31
G PDF AUfruf Allgemeine Java-Themen 6
S Aufruf meines Programms Allgemeine Java-Themen 2
G Konstruktor-Aufruf nun mit oder ohne Typ? Allgemeine Java-Themen 9
T CMD nach aufruf von javaw Programmname wieder schließen Allgemeine Java-Themen 3
Z Problem beim Aufruf eines Listener? Allgemeine Java-Themen 4
A Problem beim Aufruf von javac Allgemeine Java-Themen 7
W Aufruf von JavaBeans Allgemeine Java-Themen 3
0 Animiertes Gif anzeigen - NullPointer Exception Allgemeine Java-Themen 19

Ähnliche Java Themen

Neue Themen


Oben