Hallo.
Ich habe ein kleines Problem mit dem Updaten von Pictures, im Prinzip geht es nur darum, einen Daumen abzubilden der hoch bzw. runter zeigt. Ich habe dafür 2 Bilder angelegt (obwohl das Spiegeln auch mit negativer Höhe gehen soll, aber das hat irgendwie gar nicht gefunkt).
Ich benutze ein JPanel auf dem ein jpg gezeichnet wird, und zwar so,
wobei image ein ImageIcon ist.
Jetzt soll beim MouseClick auf das Panel ein neues Bild angezeigt werden, also gibts nen MouseListener, der unter anderem folgendes macht:
wobei ladePicture() unter anderem image mit dem neuen Picture belegt.
Im Prinzip funktioniert das auch wunderbar, mit einer kleinen Einschränkung: der untere Rand des neuen Bildes wird nicht angezeigt, statt desses bleiben Reste vom alten Pic zu sehen. Sobald man allerdings das Programm irgendwie aktualisiert, zB Buttons benutzt oder auch nur ein anderes Fenster über den entsprechenden Bereich bewegt, wird das Bild richtig aktualisiert.
Wie mach ich das nun, das es sofort richtig aktualisiert wird?
Hier mal Pics um euch deutlich zu machen wie es aussieht:
So siehts vor dem Click aus:
und so danach:
Auch beim umdrehen in die andere Richtung kommt der Fehler.
Ich habe ein kleines Problem mit dem Updaten von Pictures, im Prinzip geht es nur darum, einen Daumen abzubilden der hoch bzw. runter zeigt. Ich habe dafür 2 Bilder angelegt (obwohl das Spiegeln auch mit negativer Höhe gehen soll, aber das hat irgendwie gar nicht gefunkt).
Ich benutze ein JPanel auf dem ein jpg gezeichnet wird, und zwar so,
Code:
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image.getImage(),0,0,this);
}
Jetzt soll beim MouseClick auf das Panel ein neues Bild angezeigt werden, also gibts nen MouseListener, der unter anderem folgendes macht:
Code:
public void mouseClicked(java.awt.event.MouseEvent evt)
{
ladePicture(name);
repaint();
}
Im Prinzip funktioniert das auch wunderbar, mit einer kleinen Einschränkung: der untere Rand des neuen Bildes wird nicht angezeigt, statt desses bleiben Reste vom alten Pic zu sehen. Sobald man allerdings das Programm irgendwie aktualisiert, zB Buttons benutzt oder auch nur ein anderes Fenster über den entsprechenden Bereich bewegt, wird das Bild richtig aktualisiert.
Wie mach ich das nun, das es sofort richtig aktualisiert wird?
Hier mal Pics um euch deutlich zu machen wie es aussieht:
So siehts vor dem Click aus:
und so danach:
Auch beim umdrehen in die andere Richtung kommt der Fehler.