bonjour a tous,

dans mon application je vais chargé des images,en alllant les chercher dans un répertoire quelconque. Je ne vais pas chargé à chaques fois les mêmes images. Ces images sont choisis à partir de leur adresse.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
img = Toolkit.getDefaultToolkit().getImage("image/tile_&x="+X+"&y="+Y+".jpg");
A chaques fois que j'ai besoin d'une image, je calcul les indices X et Y et je fait appelle à cette ligne.

Le problème est que l'appli ne sort quelques fois aucune images alors qu'elle existe et que j'utilise un mediatracker.

Mais quand je force la lecture d'une maniere pas tres élégante il arrive enfin a me charger l'image.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
int k=0;
img = Toolkit.getDefaultToolkit().getImage("image/tile_&x="+X+"&y="+Y+".jpg");
while (img.getWidth(this) == -1 || img.getHeight(this) == -1){
	img = Toolkit.getDefaultToolkit().getImage("image/tile_&x="+X+"&y="+Y+".jpg");
	k++;
	if (k==400) break;
}
Le souci c'est qu'il est possible que des images n'existent pas aux adresses ainsi déduites, c'est pourquoi je sors de la boucle au bout de k=400. c'est completement arbitraire.

Si vous connaissez une facon de procéder sans cette bidouille, j'en serais bien content, surtout que mon code est bien trop lourd de cette facon.