Java Can';使用getResource()无法使图像正常工作

Java Can';使用getResource()无法使图像正常工作,java,image,Java,Image,我正在尝试制作一个罐子,但是程序需要图像。当我运行罐子时,图像没有显示出来。然而,他们在eclipse中做到了。我使用了以下代码: label.setIcon(new ImageIcon("res/img/icon.png")); 然后我在互联网上寻找修复它的方法。我在StackOverflow上发现了这个问题,但当我在代码中尝试它时,它抛出了一个NullPointerException(同样在eclipse中)。这是我现在的代码: label.setIcon(new ImageIcon(ge

我正在尝试制作一个罐子,但是程序需要图像。当我运行罐子时,图像没有显示出来。然而,他们在eclipse中做到了。我使用了以下代码:

label.setIcon(new ImageIcon("res/img/icon.png"));
然后我在互联网上寻找修复它的方法。我在StackOverflow上发现了这个问题,但当我在代码中尝试它时,它抛出了一个
NullPointerException
(同样在eclipse中)。这是我现在的代码:

label.setIcon(new ImageIcon(getClass().getResource("/res/img/icon.png")));
图像位于包中一个单独的文件夹中,称为“res”:


看看您的
RES
文件夹实际上在eclipse
SRC
文件夹中。 有时,用户会将文件夹添加到eclipse项目中

此外:

  • 尝试清理和重建项目
  • 在Eclipse中,打开Navigator视图。打开项目的/bin文件夹。它是否有
    /res/img/icon.png
    (来自的评论)

看看您的
RES
文件夹实际上在eclipse
SRC
文件夹中。 有时,用户会将文件夹添加到eclipse项目中

此外:

  • 尝试清理和重建项目
  • 在Eclipse中,打开Navigator视图。打开项目的/bin文件夹。它是否有
    /res/img/icon.png
    (来自的评论)
  • 在项目中创建一个包,并将其命名为“Images”
  • 现在,将您正在使用的图像添加到此包中
  • 最后,调用包中的这些图像
  • 还要确保键入的图像名称正确

    这是处理图像的最佳方式

    更新

    试一试

    而不是

    label.setIcon(new ImageIcon(getClass().getResource("/res/img/icon.png")));
    
  • 在项目中创建一个包,并将其命名为“Images”
  • 现在,将您正在使用的图像添加到此包中
  • 最后,调用包中的这些图像
  • 还要确保键入的图像名称正确

    这是处理图像的最佳方式

    更新

    试一试

    而不是

    label.setIcon(new ImageIcon(getClass().getResource("/res/img/icon.png")));
    

    确保映像实际上在Jar中,并且在res/img/目录中。您的语法看起来正确,您的
    res
    在哪里?它必须在你的类路径下。你应该截图如下:@Casper van Battum哦,你的路径不正确,你现在应该将
    res
    文件夹移动到
    src
    文件夹!您不必在src中移动res。您只需要对Eclipse说res是一个源文件夹,因此将包含在jar中(项目属性>Java构建路径>源选项卡>添加文件夹)。在树状视图中,您将看到文件夹图标将更改为带有包的文件夹。请确保图像实际上位于Jar中,并且位于res/img/目录中。您的语法看起来正确,您的
    res
    在哪里?它必须在你的类路径下。你应该截图如下:@Casper van Battum哦,你的路径不正确,你现在应该将
    res
    文件夹移动到
    src
    文件夹!您不必在src中移动res。您只需要对Eclipse说res是一个源文件夹,因此将包含在jar中(项目属性>Java构建路径>源选项卡>添加文件夹)。在树状视图中,您将看到文件夹图标将更改为带有包的文件夹。