IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

problème avec getClass().getRessource


Sujet :

Langage Java

  1. #1
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut problème avec getClass().getRessource
    Bonjour, dans mon application java /SWING développée, sous Netbeans 6.5

    je souhaite afficher une icône mais je reçois une exception que je parviens pas à catcher correctement pour éventuer à l'appli de bugger.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     try {
     
             url1 =  getClass().getResource("");
             url2 = getClass().getResource("/FFT.gif");
             //TODO
             System.out.println("url1"+url1);
             System.out.println("url2"+url2);
             setIconImage(Toolkit.getDefaultToolkit().getImage(url2));
     
            }
            catch (Exception e) {
                log.error("Icon FFT.gif not loaded");
            }
    Url1 affiche file:/C:/Projects/***/workspace/netbean-6.5/***/build/classes/com/**/**/

    ce qui me semble plutôt bizarre mais bon...
    Je place donc mon logo dans ce dossier

    mais url2 me retourne null.

    Pourquoi?

    Du coup je ne peux pas appeler setIconImage(Toolkit.getDefaultToolkit().getImage(url2));
    sans qu'il ne me retourne une erreur d'exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Uncaught error fetching image:
    java.lang.NullPointerException
            at sun.awt.image.URLImageSource.getConnection(URLImageSource.java:97)
            at sun.awt.image.URLImageSource.getDecoder(URLImageSource.java:106)
            at sun.awt.image.InputStreamImageSource.doFetch(InputStreamImageSource.java:240)
            at sun.awt.image.ImageFetcher.fetchloop(ImageFetcher.java:172)
            at sun.awt.image.ImageFetcher.run(ImageFetcher.java:136)
    L'exception devrait pas etre catchée ??? sans stopper l'application?
    Ou sinon comment correctement afficher ce logo ?
    merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 132
    Points : 170
    Points
    170
    Par défaut
    est-ce que tu peut essayer en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getResource("FFT.gif")

  3. #3
    Membre habitué
    Profil pro
    Architecte de système d’information
    Inscrit en
    Janvier 2007
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Architecte de système d’information

    Informations forums :
    Inscription : Janvier 2007
    Messages : 439
    Points : 178
    Points
    178
    Par défaut
    Cela fonctionne merci.

    Le problème est que le répertoire où se situe le logo est un peu éloigné ..

    file:/C:/**/**/workspace/netbean-6.5/**/build/classes/com/**/**/
    Et dès que j'efface le logo de ce dossier, l'erreur réapparait.
    Comment je pourrais faire pour appeler le logo du même répertoire que le fichier.jar??

    merci

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    getRessource ne connait qu'une seule chose, le classpath, et c'est là dedans que se fera la recherche. Donc il vaut mieux inclure ton image dans le .jar, tout simplement. Ensuite getResource y aura accès sans soucis.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec GetClass
    Par JerryMouse dans le forum Composants VCL
    Réponses: 4
    Dernier message: 17/10/2003, 19h03
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo