私のプログラムは Eclipse で完全に動作しますが、エクスポートすると画像が表示されません。
私のセットアップは次のようになります
src
..gui
....Main.java
....menus
......MenuMain.java
res
...Logo.png
MenuMain.java から Logo.png を参照しています。さまざまな方法を試しました。
res/Logo.png
/res/Logo.png
.res/Logo.png
../../Logo.png
- ++++
上位 3 つは Eclipse で動作しますが、どちらも Jar では動作しません。私はJarファイルをチェックしました.resフォルダがそこにあり、すべての画像もあります. また、MANIFEST.MF を編集して Class-Path を追加しようとしました。
しかし、それでもうまくいきません。Jar を実行してもエラーは発生しません。他のすべてのファイル (ボタン、ラベル、++) が表示されます。
編集:これは GridBagLayout で JPanel を使用します。ImageIcon を JLabel に追加して、JPanel に追加できるようにします。もともと私は次のようなものを使用していました:
JLabel logo = new JLabel(new ImageIcon("res/Logo.png"));
しかし、次のような他のバリエーションも試しました。
JLabel logo = new JLabel(new ImageIcon(MenuMain.class.getClassLoader().getResource("/res/Logo.png")));
また、getResourceAsStream()
最初のものだけが Eclipse で動作しますが、Jar には表示されません。他のものはただクラッシュします (NullPointer)