我没有在 Eclipse 或 NetBeans 等任何开发环境中工作。我在 Windows 终端工作。我的根文件夹是 Project,包含 src、res、bin。
res 包含我想在 src 文件夹中的 java 类中使用的 -png 文件。现在我很困惑,因为在我的项目中手动排序文件和文件夹的结构对我的代码行为没有影响。我仍然需要在代码中声明一个类所在的包。我不能(在代码中)声明 Image1.png 位于包 res 中。然后我的班级如何找到这张图片?
我尝试将图像与想要访问的类放在同一个包中,只是尝试getResource("Image1.png")
但没有:NullPointerException。
似乎没有人有这个问题,我无法在任何地方找到答案。
我的项目布局:
Project
bin
samplecode
SampleCodeClass1.class
SampleCodeClass2.class
res
Image1.png
src
samplecode
SampleCodeClass1.java
SampleCodeClass2.java
现在,当我从项目目录打开终端并输入:
java -cp bin;res samplecode.SampleCodeClass1
我明白了at javax.swing.ImageIcon.<init>(Unknown Source)
在我的代码中引用这一行:
ImageIcon ii = new ImageIcon(this.getClass().getResource("Image1.png"));