私はここのチュートリアルに従っています。ファイルはプロジェクトの同じルートフォルダにあります。srcフォルダーと同じパッケージフォルダーにあるときに試してみました。これらの3つの場所はどれも機能しませんでした。
コードの具体的な行は次のとおりです。
ImageIcon ii = new ImageIcon(this.getClass().getResource("bardejov.jpg"));
私が間違っていることについて何か考えはありますか?
私はここのチュートリアルに従っています。ファイルはプロジェクトの同じルートフォルダにあります。srcフォルダーと同じパッケージフォルダーにあるときに試してみました。これらの3つの場所はどれも機能しませんでした。
コードの具体的な行は次のとおりです。
ImageIcon ii = new ImageIcon(this.getClass().getResource("bardejov.jpg"));
私が間違っていることについて何か考えはありますか?
// absolute from the classpath
MyClass.class.getResource("/myfolder/abc.txt");
// relative to the class location
MyClass.class.getResource("abc.txt");
// another relative to the class location
MyClass.class.getResource("myfolder/abc.txt");
このgetResources(...)
メソッドは、デフォルトのクラスローダーが検索する場所に関連するファイルを検索します。したがって、上記のコードの場合、bardejov.jpgは、検索するクラスファイルと一緒にある必要があります。私自身、私は通常、クラスファイルディレクトリから「images」というサブディレクトリを作成し、そこに画像を配置してから、を使用してそれらを探します。getClass().getResource("images/bardejov.jpg")
詳細については、ClassAPIをご覧ください。
画像が同じフォルダにある場合は機能しますが、画像がルートフォルダにある場合は、/bardejov.jpgを使用してください。