3

実行可能な JAR ファイルからイメージをロードしようとしています。

ここからの情報をたどり、次にここからの情報をたどりまし

これは、画像を取得する関数です。

public static ImageIcon loadImage(String fileName, Object o) {
     BufferedImage buff = null;
     try {
        buff = ImageIO.read(o.getClass().getResource(fileName));
        // Also tried getResourceAsStream
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
    if (buff == null) {
        System.out.println("Image Null");
        return null;
    }
    return new ImageIcon(buff);
}

そして、これはそれがどのように呼ばれているかです:

logo = FileConverter.loadImage("/pictures/Logo1.png", this);
JFrame.setIconImage(logo.getImage());

これ単純なオブジェクトです。UIによってマスクされていない限り、 NullPointerExceptionも取得していません。

JARファイルを確認したところ、画像は次の場所にあります。

/pictures/Logo1.png

この現在のコードは、Eclipse でも、JAR にエクスポートされてターミナルで実行された場合でも機能しますが、JAR がダブルクリックされた場合には機能しません。この場合、アイコンはデフォルトの JFrame アイコンです。

助けてくれてありがとう。明らかな何かが欠けているのはおそらく私だけです。

4

1 に答える 1