2017-06-18 86 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