[Java] Java Schleife anhalten bis alles aussgeführt ist

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von RoyalTS, 5. Juni 2007 .

  1. 5. Juni 2007
    Java Schleife anhalten bis alles aussgeführt ist

    Code:
     
    for(int i=0; i<schritte;i++)
     {
     left = c_mx - xside*zoomkonstante;
     top = c_my - yside*zoomkonstante;
     right = c_mx + xside*zoomkonstante;
     bottom = c_my + yside*zoomkonstante;
     xside = right - left;
     yside = bottom - top;
     xscale = xside / (width);
     yscale = yside / (height);
     berechne();
     repaint(); 
     }
    
    hab die obige schleife in java.. die methode berechne() berechnet ein mandelbortfraktal, braucht dementsprechend recht lange.
    Wenn ich nur schritte auf 3 sätze, will ich eigentlich, dass er die 3 Bilder einzeln anzeigt. Dies macht er aber nicht. Er rechnet etwa so länge wie für alle 3 zusammen und zeigt mir dann auch erst das letzte bild an.

    In Delphi kann ich mich dunkel an "Application.processMessages" erinnern, der verhinderte, das die schleife weiterläuft, bevor alle funktionen ausgeführt sind.

    Kennt jemand eine solche Funktion in java oder eine andere Lösung für mein Problem?

    Danke
     
  2. 5. Juni 2007
    AW: Java Schleife anhalten bis alles aussgeführt ist

    Tach,

    eigentlich ist es doch logisch, dass er nur das letzte Ergebnis anzeigt, da er ja bei jedem Durchlauf
    alles überschreibt.

    Möchtest du jetzt sozusagen eine "Pause"-Funktion?

    Kenn ich zwar nicht mit Java aus, aber mit C++ ein wenig.

    In C++ gibt es eine Funktion: Sleep(1000); (1000 = 1000 ms = 1 s).

    Vllt. gibt es die auch in Java, probier dochmal aus
     
  3. 5. Juni 2007
    AW: Java Schleife anhalten bis alles aussgeführt ist

    alles schon probiert..

    und das mit dem alles überschreiben passt auch nich:
    nach dem ersten berechnen müsste das bild noch lange genug angezeigt werden, bis dann das 2. fertig berechnet ist..
     
  4. 6. Juni 2007
    AW: Java Schleife anhalten bis alles aussgeführt ist

    versuch mal das repaint(); in die methode berechne(); hineinzuschreiben.

    unter anderem kannst du mal versuchen, dir einen rückgabewert aus der methode heraus auszugeben. mit diesem rückgabewert kannst du dann in der for-schleife eine bedingung einbauen, die erst dann weitermacht (countinue), wenn der rückgabewert geliefert worden ist.

    vllt hilft es ja

    nice day!!!
     
  5. 11. Juni 2007
    AW: Java Schleife anhalten bis alles aussgeführt ist

    Bau dir eine warte schleife ein hier :
    Code:
     public static void pause(int zeit){
     try{
     Thread.sleep(zeit);
     }
     catch(InterruptedException f){
     
     }
     }
    
    vllt klappt es dann hatte auch immer das problem
    und lass mal dein repaint raus oder willst du das alte löschen ?
     
  6. 13. Juni 2007
    AW: Java Schleife anhalten bis alles aussgeführt ist

    das repaint kann er nicht rausnehmen, denn er will ja das neue bild zeichnen. sonst würde ja nur das erste gezeichnete bleiben.

    nice day!!!
     
  7. 14. Juni 2007
    AW: Java Schleife anhalten bis alles aussgeführt ist

    Ich bezweifle das es eine Zeile weitergeht befor diese Methode ausgefürt worden ist!

    Ich glaube auch das es einfach nur beschriben wird...

    aber geh doch mal im debugerModus durch, dan siehst du ob es weiter geht auch befor die Methode beendet worden ist.

    piis
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.