1

私のプログラムはNetbeansで正常に実行されますが、ブラウザでアプレットを実行すると次のエラーが発生します。

java.lang.IllegalArgumentException: input == null!
    at javax.imageio.ImageIO.read(Unknown Source)

jarファイルを開いて、pngファイルが正しく配置されていることを確認しました。以下が機能しない理由はわかりません(もちろん、tryブロックで):

BufferedImage beam = ImageIO.read(this.getClass().getResource("images/beam.png"));

私は次のような他のことを試しましたが、問題は別のものである可能性があります。

URL url = this.getClass().getResource("images/beam.png");
BufferedImage beam = ImageIO.read(url.openStream());

あなたのアドバイスをいただければ幸いです。

4

2 に答える 2

1

問題はパス文字列にあります。代わりにこれを使用してください:

BufferedImage beam = ImageIO.read(this.getClass().getResource("/images/beam.png"));

/(パスの前に注意してください)

于 2012-10-11T14:26:21.003 に答える
0

記録のために、そして誰かが何らかの理由でこのタイプのエラーで立ち往生している場合、Eclipseはビルドパスを自動的に変更し、イメージパスがパッケージ化されるのをブロックしました。

この設定を変更するには、 right click on the project name-> Properties-> Java Build Path->だけSource Tabで、画像を含むフォルダが除外されていないことを確認します(そのルールを削除するだけの場合)。

于 2019-04-19T21:31:44.813 に答える