我的Eclipse项目中的文件夹中有一个图像文件,用于存储图像文件(logo.jpg)。但是我不知道如何在我的主程序中访问它。
我曾尝试过以下
private static URL logoPath
public class MainApplication
{
public void createGui()
{
logoPath.getClass().getResource("/Resources/images/logo.jpg");
////
}
/////
}
问题是我一直得到一个空指针异常,所以很明显路径做错了,否则logoPath.getClass()会把它绊倒。
有什么想法吗?
答案 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源目录中,以使其可见。您有两种选择:
将“资源”文件夹移动到现有“src”文件夹下。
仅为资源创建新的源文件夹。您可以在项目属性的Java Build Path页面中执行此操作。
要注意的几件事......
注意您的大小写。 Java资源查找区分大小写。
您将使用的路径将相对于源文件夹(而不是项目根目录)。例如,如果您将资源文件夹设置为源文件夹,则您的路径将需要为“images / ...”。如果要在查找路径中保留资源文件夹,则需要在项目中创建额外的文件夹级别,以用作资源的源根目录。
我不确定它是否是实际问题,但资源路径不应以前导斜杠开头。它们不是传统意义上的真正路径。将它们视为包限定的类名,但使用'/'而不是'。'作为分隔符。
答案 2 :(得分:0)
我这样做的方式相同
String filename = "logo.jpg";
Main.getClass().getClassLoader().getResource(filename);
文件结构如下所示
/src/main/java/com/hauke/Main.java
/resource/logo.jpg
我的问题是在此之前,我将目标命名为“资源”,它应该是“资源”