1

私はここのチュートリアルに従っています。ファイルはプロジェクトの同じルートフォルダにあります。srcフォルダーと同じパッケージフォルダーにあるときに試してみました。これらの3つの場所はどれも機能しませんでした。

コードの具体的な行は次のとおりです。

ImageIcon ii = new ImageIcon(this.getClass().getResource("bardejov.jpg"));

私が間違っていることについて何か考えはありますか?

4

3 に答える 3

3
// 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");
于 2011-12-13T03:00:47.667 に答える
2

このgetResources(...)メソッドは、デフォルトのクラスローダーが検索する場所に関連するファイルを検索します。したがって、上記のコードの場合、bardejov.jpgは、検索するクラスファイルと一緒にある必要があります。私自身、私は通常、クラスファイルディレクトリから「images」というサブディレクトリを作成し、そこに画像を配置してから、を使用してそれらを探します。getClass().getResource("images/bardejov.jpg")

詳細については、ClassAPIをご覧ください

于 2011-12-13T02:47:52.620 に答える
1

画像が同じフォルダにある場合は機能しますが、画像がルートフォルダにある場合は、/bardejov.jpgを使用してください。

于 2011-12-13T02:48:31.423 に答える