2009-02-26 9 views
5

私は2つのディレクトリを含む単純なJavaプロジェクトをエクスポートしています。 srcとアイコン。アイコンは3つの.pngファイルを含むディレクトリです。.jarファイルの配備:アイコンファイルを読み込めないのはなぜですか?

ファイル - >エクスポートを使用して実行可能な.jarファイルにエクスポートしています。エクスポートは正常に動作し、.jarファイルにはIconディレクトリが含まれています。しかし、プロジェクトの展開時に.pngファイルの正しいパスを取得できません。

アイコン/ picture.png

、それは限り、私は、Eclipse IDE内から実行するように動作します:開発中に、私は次のパスを使用しています。 アイコンの正しいパスを取得するにはどうすればよいですか?

答えて

6

あなたのコードは、.jarファイルの外のイメージを探しています。代わってImageIconURL constructorを試してください。

Icon icon = new ImageIcon(getClass().getResource("Icons/picture.png")); 

Class.getResource()を参照してください。

4

mmyersは正しいですが、getClass().getResource()は、クラスが定義されたパッケージを基準にして、リソースをロードすることに注意してください。あなたのアイコンはjarファイルのルートにパッケージされていて、クラス自体には相対的ではないと思われます。クラスパスのルートからリソースを取得するには、次を試してください: getClass().getClassLoader().getResourceAsStream("Icons/picture.png")

関連する問題