Problème avec un try{} catch{}

Christophe59193 Messages postés 8 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 13 mars 2012 - 18 janv. 2011 à 16:00
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 - 28 janv. 2011 à 09:24
Bonjour tout le monde,

J'ai un petit soucis avec mon programme en java.

Dans une fonction quelconque, j'ai fait appel à des images. Le programme fonctionne mais j'ai voulu mettre en place un try{} catch{} dans le cas ou l'image est absente, au moins ça ne planteras pas et affichera un message d'erreur. Jusque la, cela marche parfaitement.

Cependant en faisant la même vérification dans la fonction paint(Graphics g), cela ne fonctionne pu. Quelqu'un saurait il pourquoi?

Voici mon code:
try{
    // On place un obstacle
    URL url2 = this.getClass().getResource("/images/dessin.jpg");
    image =Toolkit.getDefaultToolkit().getImage(url2);
    if(image != null)// Si l'image existe, ...
g.drawImage(image, i*image.getHeight(getParent()), j*image.getWidth(getParent()), this); // ... on la dessine
}catch(Exception e){
    System.out.println("Chargement image impossible");
}


A noté que mes images se trouvent dans le dossier "images" dans le dossier "bin" du workspace du projet.

Cordialement,

3 réponses

Utilisateur anonyme
21 janv. 2011 à 10:57
Comment ça "ça ne fonctionne plus"? Tu es trop vague.


















TUER : http://tuer.sourceforge.net/tuer.jnlp

yeah! vive java
0
satamoni1982 Messages postés 37 Date d'inscription vendredi 24 mars 2006 Statut Membre Dernière intervention 27 janvier 2011
21 janv. 2011 à 21:30
esai avec
catch(Exception e1){
System.out.println("impossible....");
}
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
28 janv. 2011 à 09:24
Salut,

Réponse HS :
Ton try/catch c'est pas dans la méthode paint/paintComponent que tu le fais ? tu ne charges pas systématiquement ton image dans la méthode paint/paintComponent j’espère ?

Sinon autre point, pour charger ton image tu ne devrais pas utiliser la classe Toolkit sans utiliser de tracker (MediaTracker) qui va charger ton image de manière asynchrone* mais plus ImageIO.read(....) qui lui est synchrone et va donc t'avertir de suite si il y a un pb avec l'image.


* Tu peux lire les quelques lignes sur le chargement synchrone et asynchrone des images : ici
Dans l'exemple synchrone il utilise un MediaTraker mais tu pourrais remplacer toute ça par l'utilisation de ImageIO.


------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
Rejoignez-nous