java - 加载图像时遇到问题

标签 java image embedded-resource

我一直在尝试加载位于我的图像文件夹中的 image.png 文件:

在 Eclipse 中,我在 src 文件夹中创建了一个名为 images 的文件夹,并将图像放在那里,因此它应该是我的类路径的一部分。

但是,当我尝试使用此图像时,它不起作用:

我已经尝试过这些:

Image image; 
String craft = "myApp/src/images/image.png";
ImageIcon ii = new ImageIcon(craft); 
        image = ii.getImage();

Image image; 
String craft = "myApp/src/images/image.png"; 
ImageIcon ii = new ImageIcon(this.getClass().getResource(craft));
        image = ii.getImage();

以及弦工艺的各种变体:

"images/image.png", "/images/image.png", "/myApp/src/images/image.png"

最佳答案

如果您的图像位于:

src/images/foo.png

并使用此代码:

ImageIcon ii = new ImageIcon("images/foo.png");
Image image = ii.getImage();
System.out.println(image != null);

输出将是:

true

...也就是说,Image 不是 null... ...如果您的类路径是 eclipse 在创建项目时提供的默认构建路径(注意:应该与 Netbeans 等相同)。

如果您使用不同的构建脚本,无论是 Ant 还是 Maven,您可能需要更改路径。如果它是一个网络应用程序,您肯定会这样做。

附加说明

  • Here是 Web 应用程序资源路径上的一个很好的 SO 线程。
  • Here是典型的 Maven 文件夹布局 - 对您很有用 如果您使用 Maven 作为构建/打包脚本,则启动。

关于java - 加载图像时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20322712/

相关文章:

java.net.ConnectException : Connection refused: connect openshift

image - <img>标签在Firebug中变灰了,因此找到了无法显示图片的原因。需要帮助修复它

javascript - 使用 javascript 径向排列图像的最有效方法是什么?

java - 使用 Java 解密 3Des 中的值

java - 'ICU' 在 Android SDK 中代表什么?

java - 如何在jsp中使用enumset.contains?

java - 由于变量未初始化,将图像添加到 JPanel 时出错

java - 什么是一个出色的 java 图像处理库,可以处理色阶、色彩平衡、饱和度、清晰度、降噪和压缩?

java - jar 文件中的图像不会显示

java - 当 netbeans 项目转换为可执行 jar 时,JLabel.setVisible 不起作用