如何使用getClass().getResource()方法

jpd*_*mer 7 java

当我创建ImageIcon类对象时,我使用以下代码:

iconX = new ImageIcon (getClass().getResource("imageX.png"))
Run Code Online (Sandbox Code Playgroud)

当.png位于类的同一文件夹中时,上述代码可以在applet或桌面应用程序中正常工作.

问题是:如何避免NullPointerException.Png在另一个文件夹中?或者ImageIcon当对象位于类的不同位置时如何加载对象中的图像?

我不明白这种方法是如何工作的,如果有人能帮助我,我会很感激.谢谢!!

Mad*_*mer 2

只需提供资源的路径即可。

因此,如果您将图像放入 Jar 中的“/resources/images”中,则只需使用

iconX = new ImageIcon(getClass().getResource("/resources/images/imageX.png"))
Run Code Online (Sandbox Code Playgroud)

本质上,您所说的是,类加载器,请在您的类路径中搜索以下资源。