Maison  >  Article  >  Java  >  Comment éviter NullPointerException lors de la récupération d'images à partir du dossier Ressources dans NetBeans ?

Comment éviter NullPointerException lors de la récupération d'images à partir du dossier Ressources dans NetBeans ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-07 22:35:03367parcourir

How to Avoid NullPointerException when Retrieving Images from Resources Folder in NetBeans?

Récupération d'images du dossier Ressources dans NetBeans

Énoncé du problème

Dans un projet Java dans NetBeans 7.0, récupération d'une image du dossier "ressources" l'utilisation du code suivant entraîne une NullPointerException :

ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("filling.jpg"));

Malgré la confirmation de la présence de l'image dans le dossier des ressources, cette approche échoue.

Solution

1. Structure des dossiers :

  • Séparez le dossier de ressources du dossier src pour éviter la suppression lors de la construction :

    • Créez un dossier de ressources dans le dossier src.

2. getResource(Path):

  • En Java, les ressources sont accessibles par rapport à la racine du chemin de classe, qui dans ce cas est le dossier "classes" dans le dossier de construction :

    • Utilisez un "/" de début pour indiquer le chemin absolu de la ressource (par exemple, /resources/images/logo.png).
    • Omettez le "/" de début pour les ressources contenues dans les sous-dossiers (par exemple, getClass().getResourceAsStream("/resources/allwise.ini")).

3. Exemple :

  • Pour charger une image, remplacez l'ancien code par :
ImageIcon fillingIcon = new ImageIcon(getClass().getClassLoader().getResource("/resources/images/filling.jpg"));
  • Pour un fichier de ressources stocké dans un sous-dossier des ressources , utilisez :
if (common.readFile(getClass().getResourceAsStream("/resources/allwise.ini"), buf).equals("OK")) {

4. Dossier de construction :

  • Le dossier de construction contient une copie du dossier de ressources. Par conséquent, le chemin de ressource fourni devrait fonctionner lors de l'exécution directe du fichier JAR à partir du dossier dist.

5. Dépannage :

  • Assurez-vous que l'image existe dans le dossier des ressources.
  • Vérifiez l'orthographe du nom de fichier de l'image.
  • Confirmez que vous avez importé le classes nécessaires, telles que java.awt.Image et java.awt.ImageIcon.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn