JFrameにアイコンを追加する方法をいくつか試しました。すべてのメソッドは、ソースコードを使用して実行すると完全に機能します。例えばJFrameにアイコンを追加する際の問題
:
jframe.setIconImage(Toolkit.getDefaultToolkit().getImage("iconimages/icon.png"));
しかし、私はjarファイルを使用して、それを実行すると、それらのどれも動作しません。私は問題が画像ファイルのパスであることを知っています。これをどうすれば解決できますか?
編集:
public Ui() {
initComponents();
setLocationRelativeTo(null);
this.setIconImage(getImageIcon("icon.png").getImage());
}
private ImageIcon getImageIcon(String fileName) {
String imageDirectory = "iconimages/";
imgURL = getClass().getResource(imageDirectory + fileName);
return new ImageIcon(imgURL);
}
私はこれを試してみましたが、今私は、nullポインタ例外を取得します。
--------------------------------------------------------------------------------
編集[ソリューション]:私は解決策を見つけました。
さらにパスに../
を追加して完全に動作します。 :D
ImageIcon imageIcon = new ImageIcon("../imageicons/icon.png");
this.setIconImage(imageIcon.getImage());
ありがとうございました。 :)
ImageIconコンストラクタに 'String'を渡すというこのアプローチは、画像がJarにあるときにはうまくいきません(分散されていると考えられます)。パラノイド - アンドロイドは数日前に正しいテクニックを提供しました。それがあなたのプロジェクト構造のために働かせる方法を理解することが最善でしょう。 –