(JPanel) paintComponent mit Zeitverschiebung (Sleep/Wait)

infor

Mitglied
Hey Hey,

ich komme mal wieder nicht weiter bei meinem Schere Stein Papier Projekt.

Ich möchte nach dem Anklicken eines Buttons (Schere, Stein oder Papier) das entsprechende Bild auf der linken Seite des Jpanels anzeigen lassen und nach ca. 5 Sekunden die (zufällig bestimmte) Auswahl des Computers auf der rechten Seite anzeigen lassen.

Hier ein Stück Code:
Java:
@Override    protected void paintComponent(Graphics g) {        
        g.clearRect(0, 0, 626, 626);        
        g.drawImage(hintergrund,0,0,625,625,this);       
        if (drawSchere){        
            g.drawImage(scherel,3,150,180,180,this);
        }        
        if (drawStein){
            g.drawImage(steinl,3,150,180,180,this);
        }        
        if (drawPapier) {
            g.drawImage(papierl,3,150,180,180,this);                  
        }        
        if (drawSchere || drawStein || drawPapier) {
            /*** Antwort auf Auswahl ***/
            zufallsGenerator = new Random();
            int[] zahlen = new int[1];        
            for (int i = 0; i < zahlen.length; i++) {
                zahlen[i] = zufallsGenerator.nextInt(3) + 1;
            
                if(zahlen[i] == 1) { 
                   g.drawImage(scherer,417,150,180,180,this);                   
                }
                if(zahlen[i] == 2) {
                   g.drawImage(steinr,417,150,180,180,this);
                }
                if(zahlen[i] == 3) {
                   g.drawImage(papierr,417,150,180,180,this);
                }                     
            }
        }                        
    }

Wenn ich nach dem " if(zahlen == X) " thread.sleep() verwende, funktioniert es zwar, allerdings erscheinen dann die beiden Bilder nach 5 Sekunden gleichzeitig.

Habe es auch mit einem Timer versucht, wobei ich allerdings auch erfolglos blieb.


Danke im Vorraus für eure Hilfe 🙂
 
Zuletzt bearbeitet:
wenn beides im gleichen Thread läuft, ist es klar, dass beide Bilder gleichzeitig kommen, du bräuchtest 2Threads. Fände es aber auch komisch wenn meine "geste" vor dem computer angezeigt wird.
 

Zurück
Oben