如何访问Eclipse项目文件夹中的图像文件

时间:2012-03-20 13:07:10

标签: java eclipse image directory

我的Eclipse项目中的文件夹中有一个图像文件,用于存储图像文件(logo.jpg)。但是我不知道如何在我的主程序中访问它。

我曾尝试过以下

private static URL logoPath

public class MainApplication
{
     public void createGui()
     {
          logoPath.getClass().getResource("/Resources/images/logo.jpg");
          ////
     }
     /////
}

问题是我一直得到一个空指针异常,所以很明显路径做错了,否则logoPath.getClass()会把它绊倒。

有什么想法吗?

3 个答案:

答案 0 :(得分:5)

你可以用这种方式 我有以下包结构

  • src / test(包测试包含Java文件)

  • src / images(文件夹图片包含图片)

我要从中获取图像 src / test / *。 src / images / login.png

JLabel label = new JLabel(new ImageIcon(getClass().getResource("/images/login.png")));

答案 1 :(得分:1)

您需要将资源放在Java源目录中,以使其可见。您有两种选择:

  1. 将“资源”文件夹移动到现有“src”文件夹下。

  2. 仅为资源创建新的源文件夹。您可以在项目属性的Java Build Path页面中执行此操作。

  3. 要注意的几件事......

    1. 注意您的大小写。 Java资源查找区分大小写。

    2. 您将使用的路径将相对于源文件夹(而不是项目根目录)。例如,如果您将资源文件夹设置为源文件夹,则您的路径将需要为“images / ...”。如果要在查找路径中保留资源文件夹,则需要在项目中创建额外的文件夹级别,以用作资源的源根目录。

    3. 我不确定它是否是实际问题,但资源路径不应以前导斜杠开头。它们不是传统意义上的真正路径。将它们视为包限定的类名,但使用'/'而不是'。'作为分隔符。

答案 2 :(得分:0)

我这样做的方式相同

 String filename = "logo.jpg";

 Main.getClass().getClassLoader().getResource(filename);

文件结构如下所示

/src/main/java/com/hauke/Main.java

/resource/logo.jpg

我的问题是在此之前,我将目标命名为“资源”,它应该是“资源”