2012-04-23 3 views
1

Eclipse Javaプロジェクトで、約10個の外部JAR依存関係があります。 Eclipseでうまく動作し、ONE-JARのようなツールを使ってエクスポートしても問題ありません。EclipseからJavaプロジェクトをエクスポートすると画像が表示されない

私が直面している奇妙な問題はイメージです。私はプロジェクト内のパッケージにすべてのイメージを持っており、エクスポートされたときにはそれらは含まれていますが、実行中のプロジェクトには表示されません。

なぜ私は考えていませんか?不思議なことに、いくつかのJPanelのテキストでは、私が埋め込まれた画像は、例えば使用してHTMLを使用します。

URL url = myClass.class.getResource("icons/icon.png"); 

を、これは、動作し、出力でそれらの画像を示すが、ものは直接、Javaなどによって参照:

this.setIconImage(Toolkit.getDefaultToolkit().getImage("src/icons/icon.png")); 

動作しない。これと同じコード行は、Eclipseから実行するときに完全に機能します。このプロジェクトをエクスポートする際に何が問題になるのか、私は何をすべきかを教えてください。私はAntかMavenに切り替えるべきですか?

+1

クラスパスからではなく、ファイルシステムから2番目のコードが読み込まれているようです(「src /」で始まるところに注意してください)。これはEclipseで動作します。なぜなら、プロジェクトルートディレクトリ(Eclipseからプログラムを実行するときの現在の作業ディレクトリ)の下に "src"ディレクトリがあるからです。 – Thilo

+0

@Thiloと同時に解決するには、 "/icons/icon.png" '(jarファイルの絶対パス)を試してみることです。 –

+0

@Thilo、オハイオ州オハイオ州オハイオ州オクラホマ、これを試してみましょう。 – 911TurboS

答えて

3

あなたはこれを行う必要があります、java.awt.Toolkit#getImage()を参照してください

URL url = myClass.class.getResource("icons/icon.png"); 
this.setIconImage(Toolkit.getDefaultToolkit().getImage(url)); 

Toolkitも同様にURLを受け入れる方法を提供します。

+0

ありがとう、私はそれが働いている: Images.class.getResource( "icon.png"); Imageは、すべてのアイコンが配置されている同じパッケージ内のダミークラスです。 – 911TurboS

関連する問題