2017-09-22 3 views
0

J'ai une application javafx qui utilise un canevas pour rendre différents éléments en fonction des résultats de certains calculs. J'appelle une fonction après render ces calculs dans une boucle while, comme ceci:Mise à jour de canvas dans javafx

static void calculateAndRender(/*Args*/){ 

     while(/*condition*/){ 

      //Perform some calculations 

      //render the results 
      render(); 
    } 
} 

Cependant, la toile est seulement rendue après la fin de la boucle while, sans montrer les étapes entre les deux. La fonction de rendu fonctionne comme prévu, et je sais que le problème n'est pas que la boucle se termine si vite que je ne peux pas voir la toile rendue, cela prend du temps. Donc, la question est: pourquoi la toile n'est-elle pas mise à jour de cette façon? et comment puis-je le faire pour que ça marche comme je veux? J'ai eu des problèmes similaires en utilisant python avec gtk et javascript, mais dans les deux langues, j'ai été en mesure de forcer la mise à jour de l'interface utilisateur, qui, comme il semble, ne peut pas être fait en Java.

Répondre