2

我正在尝试访问我的 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 行是上述代码的第一行。我几乎可以肯定我的文件目录命名有问题,但我不知道出了什么问题或如何解决它。我在我的项目中创建了一个名为“Images”的源文件,并将图像放在文件夹中,如下所示:

项目配置

我做错了什么,正确的文件名语法是什么?谢谢!

4

2 回答 2

6

您应该有一个资源文件夹,其中包含该文件夹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;
}
于 2013-04-08T21:53:10.460 回答
2

尝试将图像导入到您的“.java”源文件所在的路径。在 Eclipse 中尝试以下操作:右键单击“.java”文件,选择 Import->File System->From Directory(提供图像所在的路径)->选择图像并单击 Finish。

您可以看到图像在“.java”源所在的路径中列出。您可以直接在代码中使用图像文件名。谢谢,P

于 2014-01-06T23:07:22.920 回答