2017-06-18 76 views
0

因此,我正在使用Java製作一個基本的文本冒險遊戲,並且我決定添加圖片。 我用我的圖片加載到程序中的代碼是這樣的:圖片不會出現在罐子裏

imagePanel = new JPanel(); 
imagePanel.setBounds(50, 50, 400, 260); 
imagePanel.setBackground(Color.BLACK); 
con.add(imagePanel); 

imageLabel = new JLabel(); 

image = new ImageIcon(".//res//towngate.jpg"); 

imageLabel.setIcon(image); 
imagePanel.add(imageLabel); 

當我在Eclipse中運行的一切程序工作完全正常,但是當我出口它作爲罐子沒有任何圖像的出現。 如果有人能幫我解決這個問題,我將不勝感激。謝謝!

+0

jar中的對象不是文件,因此您不能使用ImageIcon構造函數的文件名形式來訪問它們。看到像[這個問題](https://stackoverflow.com/q/8870932/2670892) –

回答

1

確保您的圖標包含在jar文件中,並嘗試在運行時使用類加載器查找。 (下面的例子)不要使用任何相對或絕對路徑只使用文件名:

public ImageIcon loadIcon(String iconName) throws IOException { 
    ClassLoader loader = this.getClass().getClassLoader(); 
    BufferedImage icon = 
    ImageIO.read(loader.getResourceAsStream(iconName)); 
    return new ImageIcon(icon); 
} 
+0

感謝噸!它現在很好用。 – Zetotke