我嘗試了幾種方法將圖標添加到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);
}
我試過,但現在我得到一個空指針異常。
--------------------------------------------------------------------------------
編輯[解決方法]:我找到了解決辦法。
我將../
添加到路徑,並且它完美地工作! :D
ImageIcon imageIcon = new ImageIcon("../imageicons/icon.png");
this.setIconImage(imageIcon.getImage());
謝謝大家幫助我。 :)
這種將'String'傳遞給'ImageIcon'構造函數的方法在圖像位於Jar中時不起作用(因爲它可能在分佈時)。偏執狂-Android在幾天前提供了正確的技術。最好弄清楚如何使它適用於你的項目結構。 –