私はEclipseのJavaプロジェクトに次のような構造を持っています:
- src/com/myprogram/.../foo.java
- res/icon.png
- 。事業
- ...
jar内から画像をロードできることを知っています
ImageIO.read(getClass().getResource("/res/icon.png"));
res フォルダーが src フォルダー内にないため (おそらく) eclipse でアプリケーションを直接実行しようとすると、問題が発生しますnull
URL
。. また、ソース コード用とリソース用に別のフォルダーを用意したいと考えています。
また、私が見つけたのは、res
フォルダーをEclipseのクラスパスに追加できるため、次のようにロードできることです。
URL url = getClass().getResource("/res/icon.png");
if (url == null)
url = getClass().getResource("/icon.png");
ImageIO.read(url);
しかし、これは開発時にのみ必要なコードを追加するものであり、私はこのようなことは好きではありません (コードはできるだけクリーンで最終的なものにする必要があります)。
アイコンが同じコードの両方のメソッドで読み取られるようにすることはできますか?