Hallo an alle,
ich habe folgendes Problem: in einer Klasse A wird ein Grafik gezeichnet. In der Methode
wird während der Zeichnung ein BufferedImage erstellt. Die Methode
wird von allen möglichen Stellen aufgerufen, d.h. dass
Methode nicht gleich aufgerufen wird, sondern in RepaintManager durch
.
Also wenn ich
aufrufe, bekomme ich ab und zu ein nicht vollständig gezeichnetes Bild, da anscheinend noch die
Methode ausgeführt wird, während ich das Bild abfrage.
Nun meine Frage, wie könnte ich auf das Ende der
Methode warten, bzw. welchen Thread muss ich abwarten?
Ich habe schon alles mögliche ausprobiert, aber mir hat leider nichts geholfen. Für mich wäre jeder Hinweis sehr hilfreich! Danke im voraus!
Sergej
ich habe folgendes Problem: in einer Klasse A wird ein Grafik gezeichnet. In der Methode
Code:
paintComponent()
Code:
repaint();
Code:
paintComponent()
Code:
invokeLater()
Java:
class A extends JPanel{
private BufferedImage img;
@Override
public void paintComponent(Graphics g){
...//Logik, img wird initialisiert
}
public BufferedImage getImage(){ return this.img}
}
Also wenn ich
Java:
A.repaint();
BuefferedImage img = A.getImage();
aufrufe, bekomme ich ab und zu ein nicht vollständig gezeichnetes Bild, da anscheinend noch die
Code:
paintComponent()
Nun meine Frage, wie könnte ich auf das Ende der
Code:
paintComponent()
Ich habe schon alles mögliche ausprobiert, aber mir hat leider nichts geholfen. Für mich wäre jeder Hinweis sehr hilfreich! Danke im voraus!
Sergej