2017-04-27 2 views
0

In meinem Programm erstelle ich ein Programm, bei dem die Binärzahlen fallen und die Spieler den richtigen Wert eingeben müssen, bevor sie auf den Boden fällt. Der Repaint-Aufruf wirkt sich jedoch nicht aus, es sei denn, Sie ändern die Größe des Spielbildschirms, indem Sie darauf klicken und ziehen und die Größe des Rahmens ändern. Repaint aktualisiert den Spielbildschirm nicht

public void run() { 
    boolean debug = true; 
    if (debug) { 
     System.out.println("run debugging output enabled"); 
     System.out.println("time: " + time); 
    } 
    previousTime = time; 
    time = System.currentTimeMillis(); 
    while (running) { 
     previousTime = time; 
     time = System.currentTimeMillis(); 
     for (Number n : numbers.values()) { 
      n.update(time - previousTime); 
     } 
     if (debug) 
      System.out.println("new time: " + time + "\n time difference: " + (time - previousTime)); 
     try{ 
      Thread.sleep(300); 
     } 
     catch(Exception e){ 

     } 
     gui.getGameControl().repaint(); 

    } 
} 

Im Programm Gui erstreckt JFrame und GameControlGui JPanel

würde sich jede Hilfe sehr geschätzt! Danke

+0

Entweder haben Sie ein referenzierendes Problem oder ein Thread-Blockierungsproblem, aber es ist unmöglich, aus dem Kontext-Code – MadProgrammer

+0

zu unterscheiden Bessere Hilfe früher, ein [MCVE] oder [Kurze, unabhängige, korrekte Beispiel] (http: //www.sscce.org/). –

Antwort

0

repaint() ruft die paintComponent. Ich bin mir nicht sicher, was in Ihrem paintComponent, dass gesagt wird, es ist schwer zu sagen, was das Problem ist, ohne all Ihren Code zu sehen.