2016-07-12 14 views
0

タイトルはすべて、Eclipseでコンパイルするときちんと動作し、Jarファイルにエクスポートすると表示されません。イメージはeclipseでロードされていますが、エクスポートされたJarファイルでは動作しません

もうコードが必要な場合は、提供します。

Image sprite = new ImageIcon("Sprites/Characters/spikeEnemy.png").getImage(); 

sprite = (e) ? new ImageIcon("Sprites/enemyProjectile.png").getImage() : new ImageIcon("Sprites/projectile.png").getImage(); 

(E:真の敵のために、味方のために偽の)スプライトが早い(プライベート画像スプライト)として宣言されている

+0

あなたは画像が瓶に生きることを期待していますか?彼らは瓶に入っていますか? – Taylor

+0

@Talyor ファイルをエクスポートするとき、それらはsrcフォルダにあります。 – Antonio

+0

あなたが瓶を開けば、それらは内部にありますか? – Taylor

答えて

0

enter image description hereあなたがのgetClassLoaderを使用する必要があります。 は

Image sprite = ImageIO.read(getClass().getClassLoader().getResource(path)); 

forlder SRC内の画像を置く - 画像が内側になりますwhay> SRC /icons/icon.png

ImageIO.read(getClass().getClassLoader().getResource("icons/icon.png")); 

これを実行可能なjar

+0

'try { sprite = ImageIO.read(getClass()。getClassLoader()。getResource(" Sprites/Characters/Player1.png ")); } catch(IOException e){ e.printStackTrace(); } ' フォーマットについては申し訳ありません^、変です。 エラー: スレッド "main"の例外java.lang.IllegalArgumentException:input == null! \t at javax.imageio.ImageIO.read(Unknown Source) – Antonio

+0

は、Javaプロジェクト内のsrcフォルダ内のSpritesフォルダですか? – Cherif

+0

私はsrcの中でそれを試していますが、srcのフォルダのすぐ外側です。 (ビンと.settings) – Antonio

0

これは、ビルド・パスの問題です。

eclipseでプロジェクトを右クリックし、[ソースフォルダを追加]をクリックします。そこに画像を配置し、それに応じてコード内の参照を更新します。

0

今はJARファイルでしか動作しませんが、Eclipseでは動作しません。

私が誤って

sprite = new ImageIcon("Sprites/Characters/Player1.png").getImage(); 

のようにそれを実行し、スプライトは今、瓶に現れますが、「スプライト」と呼ばれる無フォルダはもうありません。あなたがそこに置くと仮定しているのは単なるデフォルトのことですか?

関連する問題