G
Guest
Gast
Hallo,
Ich habe folgendes problem mit JLabel Update. Ich habe schon alles versucht mit repaint() etc. allerdings funktioniert es nicht.
Das Programm sieht so aus:
im konstruktor:
dann im listener, wenn ich einen button drücke:
Ich glaube, dass es daran liegt, dass ich das GIF Bild in einem externen Thread ändere (ein native Runtime.exec() call) und die Java VM kriegt irgendwie nicht mit, dass sich die Datei ändert.
Noch ein Hinweis:
wenn ich einen Zähler einbaue und bei jedem Event ein neues GIF Bild (also left0.gif, left1.gif, etc.) erzeuge, dann funktioniert es.
Wäre für einen Hinweis dankbar.
MP
Ich habe folgendes problem mit JLabel Update. Ich habe schon alles versucht mit repaint() etc. allerdings funktioniert es nicht.
Das Programm sieht so aus:
im konstruktor:
Code:
JLabel left = new JLabel ();
left.setIcon(new ImageIcon("left.gif"));
dann im listener, wenn ich einen button drücke:
Code:
graph.createGif("left.gif"); //hier rufe ich ein externes programm auf, das mir das bild "left.gif" ändert
// wenn ich hier das Programm anhalte und auf der console das bild left.gif öffne, dann ist das bild o.k.
left.setIcon(new ImageIcon("left.gif"); // hier versuche ich das Bild dem JLabel zuzuweisen, klappt aber nicht er merkt sich irgendwie immer das alte bild
Ich glaube, dass es daran liegt, dass ich das GIF Bild in einem externen Thread ändere (ein native Runtime.exec() call) und die Java VM kriegt irgendwie nicht mit, dass sich die Datei ändert.
Noch ein Hinweis:
wenn ich einen Zähler einbaue und bei jedem Event ein neues GIF Bild (also left0.gif, left1.gif, etc.) erzeuge, dann funktioniert es.
Wäre für einen Hinweis dankbar.
MP