2010-06-19 7 views
4

Vous avez regardé d'autres articles sur SO et ils n'ont pas résolu ce problème. Je suis en train de charger une image à partir de mon fichier .jar. Il revient continuellement comme nul. L'image se trouve sous:Charger l'image à partir du fichier Jar: Toujours NULL

.Jar file > images > BLOCK.png 

Pour charger l'image que je fais:

BufferedImage bImg; 
URL url = getClass().getResource("/images/BLOCK.png"); 
try { 
    bImg = ImageIO.read(url); 
} catch (IOException ex) { 
    Logger.getLogger(TileEngine.class.getName()).log(Level.SEVERE, null, ex); 
} 

url est nul comme cela est bImg. Ne vous inquiétez pas de la sensibilité à la casse puisque j'ai déjà vérifié cela.

Répondre

7

essayez ceci:

Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/BLOCK.png")); 
+0

Cela a fonctionné; merci :) –

+0

vous êtes les bienvenus :) – Xorty

+6

donc url n'est pas nulle dans ce cas? comment diable cela peut-il être? – irreputable

1

Quel fichier jar est l'image, par rapport à la classe que vous utilisez pour appeler getResource? S'ils sont chargés par le même classloader, ça devrait aller.

Avez-vous revérifié que le fichier jar contient effectivement le fichier? Etes-vous sûr que votre classloader utilise réellement le fichier jar (plutôt que les fichiers .class directement sur le disque, par exemple)?

Si vous avez un programme court mais complet qui démontre le problème, cela aiderait vraiment. (Une application de console serait idéal ... nous n'avons pas besoin de voir l'image, après tout.)

Questions connexes