-6

画像の読み込みに問題があります。コマンドプロンプトでJavaRunを使用してコンパイル後にアプリケーションを実行すると(Runはメインクラスです)、エラーは生成されず、イメージがロードされますが、jarファイルにパッケージ化した後、イメージのロードに失敗しました。クラスをパッケージ化するとき、私は画像ソースをそのクラスと一緒にパッケージ化します。

これは私が画像をロードする方法です:

ImageIcon icon = new ImageIcon( getClass().getResource( "resources/images/button6.gif" ));

クラスと画像を含むフォルダは同じディレクトリにあります。

4

3 に答える 3

0

JARでのパッケージ化は異なります。

マニフェストを作成し、それにクラスパスエントリを追加してみてください。イメージが存在するJARルートを基準にしたパスをリストし、それが役立つかどうかを確認します。

于 2013-02-13T13:53:21.800 に答える
0

試す:

ImageIcon icon = new ImageIcon( MyClass.class.getResource( "/resources/images/button6.gif" ));

理由:

  • 相対パスはクラスのパッケージから始まりますが、おそらくJarのルートレベルから始めたいと思うでしょう(「resources」がJARの最上位ディレクトリであると仮定します)

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource%28java.lang.String%29

于 2013-02-13T14:37:32.213 に答える
-1

ロードしようとした画像はgif画像形式で、ファイル名拡張子gifは大文字(Ie .GIF)でした。画像の拡張子を小文字に変更したところ、問題は解決しました。

于 2017-02-17T11:30:25.103 に答える