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" ファイルを右クリックし、[インポート] -> [ファイル システム] -> [ディレクトリから] (画像が配置されているパスを指定) -> [画像を選択] を選択し、[完了] をクリックします。

「.java」ソースが配置されているパスにイメージがリストされていることがわかります。コードで画像ファイル名を直接使用できます。ありがとう、P

于 2014-01-06T23:07:22.920 に答える