2017-05-27 7 views
-1

私は奇妙な問題が発生しています。ファイル構造ここでImageIO.read getResourceエラー

Exception in thread "main" java.lang.IllegalArgumentException: input == null! 
at javax.imageio.ImageIO.read(Unknown Source) 

されています:

enter image description here

... 
public xProgressBar(xTheme theme) { 
    try { 
     this.update = ImageIO.read(xTheme.class.getResource("/images/" + xThemeSettings.PROGRESSBAR_IMAGES[0])); 
    } 
... 

そして、私はプログラムを実行すると、私は次のエラーを取得しています:ここに私のコードのスニペットですご覧のとおり、resフォルダはsrcフォルダのルートにあります。私は似たような質問をたくさん読んだが、何も助けなかった。

+0

なぜ 'xTheme.class.getResourceは()' 'のres /'の下でリソースを見つける必要があることをあなたが事でしょうか?それがおそらくうまくいくと思いますか? –

+0

まあ、私はまた、パスにRESを追加しようとしましたが、それは動作しません... – AndrewGG

+0

解像度/画像、/ resを/画像、./res/imagesを。これは動作しません。 – AndrewGG

答えて

1

getResourceファイルを見つけるためには、対応するフォルダ(ここでは、resclasspathにする必要があります。クラスパスにない場合、はgetResourceによって返され、常にnullになります。

Here'sclasspathにフォルダを追加する方法。

0

あなたの電話.getResource("/images/...")は成功しておらず、nullを返しました。あなたはImageIO.read(null)に電話し、IllegalArgumentExceptionを得ました。 resフォルダ内に自分のリソースについては

...getResource(...)で を見つけなければ、あなたはresあなたのEclipseプロジェクトのソースフォルダを作成する必要があります。 これを達成するにはresフォルダを右クリックし、ポップアップメニューで Build path - >Use as Source Folderを選択します。

screenshot

その後、

  • resあなたsrcフォルダと同じアイコンで表示されますがわかります。
  • resがプロジェクトの.classpathファイルに追加されます。
関連する問題