Ich möchte ein Bild anzeigen lassen, danach sagen wir mal 2000ms Pause und danach sollen die weiteren Anweisungen ausgeführt werden.
Es sieht bei mir so aus:
Die Konsole-Ausgabe funktioniert, es kommt die Meldung “Vor der Pause” und nach 2000ms “Nach der Pause”. Das Bild GameOver.jpg wird aber nicht eingeblendet sondern irgendwie übersprungen. Nehme ich die Verzögerung raus, so wird das Bild angezeigt.
Es scheint so als ob der Thread noch vor dem darstellen des Bildes einschläft.
Wie macht man so was richtig??
Es sieht bei mir so aus:
Code:
public void gameOver(){
panelHead2.removeAll();
JLabel feld2 = new JLabel(new ImageIcon(getClass().getResource("GameOver.jpg")));
feld2.setLayout (new FlowLayout (FlowLayout.LEFT, 0, 0));
panelHead2.add(feld2);
repaint();
validate();
System.out.println("vor Der Pause");
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {}
System.out.println("Nach der Pause");
}
Die Konsole-Ausgabe funktioniert, es kommt die Meldung “Vor der Pause” und nach 2000ms “Nach der Pause”. Das Bild GameOver.jpg wird aber nicht eingeblendet sondern irgendwie übersprungen. Nehme ich die Verzögerung raus, so wird das Bild angezeigt.
Es scheint so als ob der Thread noch vor dem darstellen des Bildes einschläft.
Wie macht man so was richtig??