2010-05-26 20 views
0

J'essaie de charger une image avec:Message d'erreur pour une nouvelle ImageIcon (url) a échoué

ImageIcon imageIcon = new ImageIcon(url);

si j'interroger l'état de charge: imageIcon.getImageLoadStatus(); retourne MediaTracker.ERRORED

est-il un moyen pour obtenir un message d'erreur disant quel était le problème?

+1

Publiez votre SSCCE (http://sscce.org), afin que nous puissions voir comment vous avez réellement codé votre URL. – camickr

+0

'new ImageIcon (" http://sstatic.net/so/favicon.ico ")' comme URL devrait faire l'affaire. Notez que je ne veux pas savoir pourquoi un cas particulier échoue (dans ce cas parce que Java ne peut pas analyser .ico), mais comment obtenir généralement un message d'erreur décent quand il échoue pour une cause quelconque. – Carsten

Répondre

0

Vous pouvez essayer de charger l'image par d'autres moyens. Cela pourrait vous donner un meilleur retour:

Image img = ImageIO.read(url); 
ImageIcon icon = new ImageIcon(img); 
+1

Je veux toujours utiliser la fonction de chargement en arrière-plan que l'API Java ImageIcon prend en charge. Je pourrais utiliser MediaTracker directement, mais il semble avoir le même problème, c'est-à-dire que vous pouvez vérifier l'échec, mais ne pas avoir une raison pour cela. – Carsten

+0

Je vous suggère d'essayer d'autres implémentations pour voir si elles échouent aussi. Ensuite, vous pouvez avoir une meilleure idée de la raison pour laquelle votre implémentation échoue. –

+0

Ceci est incroyablement lent. – Buffalo