在JApplet中加载图像时出现空指针异常

时间:2014-08-05 05:44:57

标签: java image swing nullpointerexception japplet

当我在浏览器中运行applet时,我正在获取nullpointer,而它通过appletviewer工作正常。

 titleicon=new ImageIcon(this.getClass().getClassLoader().getResource("image.jpg"));
 img=new JLabel(titleicon)

文件位置:.class文件和图像文件都在同一文件夹中。

C:\项目\ game.class
C:\项目\ image.jpg的

我在下面尝试了不同的变体,没有一个在浏览器中工作,但appletviewer都很好:

 titleicon=new ImageIcon(this.getClass().getResource("image.jpg"));
 titleicon=new ImageIcon(getClass().getClassLoader().getResource("image.jpg"));

1 个答案:

答案 0 :(得分:2)

文件位置为

C:\project\game.class
C:\project\image.jpg

Class.getResource永远不会工作,因为它会在类路径中搜索所需的资源。

使用getResource假设资源是嵌入的并且是相对于类路径的。

如果没有更多细节,很难提出准确的建议,但我建议您在没有应用程序代码的情况下获取图片,这样就会更容易找到。

如果您没有使用能够管理课程和资源的IDE,那么您需要查看Packaging Programs in JAR Files

请记住,Class#getResource能够进行相对查找。如果图像没有与加载它们的类存储在同一个包中,那么你需要使用绝对路径...