Guten Abend,
mein erweitertes jPanel soll verschiedene Rechtecke zeichnen, die in einer Warteschlange eingefügt und im 50-Millisekunden-Takt abgearbeitet werden. Damit andere Komponenten noch reagieren, wenn Thread.sleep (50) ausgeführt wird, benutze ich mehrere Threads.
Folgender Code ergab sich bisher:
Leider funktioniert das Ganze irgendwie nur sehr seltsam und zwar, wenn ich im Code an der Stelle "BesondereStelle" ein System.out.println("") einfüge. Was läuft hier schief?
mein erweitertes jPanel soll verschiedene Rechtecke zeichnen, die in einer Warteschlange eingefügt und im 50-Millisekunden-Takt abgearbeitet werden. Damit andere Komponenten noch reagieren, wenn Thread.sleep (50) ausgeführt wird, benutze ich mehrere Threads.
Folgender Code ergab sich bisher:
Java:
public void run() {
System.out.println("Starte Panel-Thread");
while( true) {
//BesondereStelle
try {
if (stapelToDo.size() > 0){
System.out.println("Konfiguration wird gezeichnet!");
this.zl_aktuell = this.stapelToDo.get( 0);
this.stapelToDo.remove( 0);
repaint();
System.out.println("Verbleibende Konfigurationen: " + this.stapelToDo.size());
Thread.sleep( 50);
}
} catch (InterruptedException ex) {}
}
}
Leider funktioniert das Ganze irgendwie nur sehr seltsam und zwar, wenn ich im Code an der Stelle "BesondereStelle" ein System.out.println("") einfüge. Was läuft hier schief?