我试图访问我的Java代码中的一些图像。调用图像的代码如下。
public final ImageIcon whitePiece = new ImageIcon(getClass().getResource("Images/whitecircle.PNG"));
public final ImageIcon blackPiece = new ImageIcon(getClass().getResource("Images/blackcircle.png"));
public final ImageIcon tiePiece = new ImageIcon(getClass().getResource("Images/tiecircle.PNG"));
public final ImageIcon boardPic = new ImageIcon(getClass().getResource("Images/gameboard.PNG"));
但是,这会返回以下错误:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
at jared.othello.GameInterface.<init>(GameInterface.java:26)
at jared.othello.Main.main(Main.java:22)
第26行是上述代码的第一行。我几乎肯定我的文件目录命名有问题,但我无法弄清楚错误或如何修复它。我创建了一个名为&#39; Images&#39;的源文件。在我的项目中,将图像放在文件夹中,如下所示:
我做错了什么,以及正确的文件名语法是什么?谢谢!
答案 0 :(得分:5)
你应该有一个资源文件夹,其中包含名为Images
的文件夹,然后它应该有效。
示例:
我如何访问这些图标:
public BufferedImage icon32 = loadBufferedImage("/icon/icon32.png");
public BufferedImage icon64 = loadBufferedImage("/icon/icon64.png");
private BufferedImage loadBufferedImage(String string)
{
try
{
BufferedImage bi = ImageIO.read(this.getClass().getResource(string));
return bi;
} catch (IOException e)
{
e.printStackTrace();
}
return null;
}
答案 1 :(得分:2)
尝试将图像导入到“.java”源文件所在的路径中。在eclipse中尝试以下: 右键单击“.java”文件,选择Import-&gt; File System-&gt; From Directory(提供图像所在的路径) - &gt;选择图像并单击Finish。
您可以在“.java”源所在的路径中看到列出的图像。您可以直接在代码中使用图像文件名。 谢谢, P