mercredi 1 avril 2009

MediaTracker - pour s'asuurer que les images sont bien chargées

La Classe MediaTracker est une classe utilitaire que j'utilise entre autres lorsque je veux m'assurer que des images sont bien chargées avant de les dessiner. Parfois, le délai est si court entre le chargement de l'image ( getImage ) et son dessin ( drawImage ) que l'applcation jette les gants et ne dessine pas l'image sans toutefois générer aucun message d'erreur.

On doit donc ajouter les images dans le MediaTracker à l'aide de la méthode addImage auquel on ajoute un identifiant. Le MediaTracker va attendre que l'image à l'identifiant soit chargée pour permettre que le programme continue.

Ex. :

MediaTracker tracker=new MediaTracker(this); // dans une méthode
tracker.addImage(ii,0); // ajoute l'image ii au MediaTracker
try {
tracker.waitForID(0); //attend que l'image avec l'identifiant 0 soit chargée
}
catch(InterruptedException e)
{
e.printStackTrace();
}