Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 赢得图像';不要出现在罐子里_Java_Eclipse_Image_Jar - Fatal编程技术网

Java 赢得图像';不要出现在罐子里

Java 赢得图像';不要出现在罐子里,java,eclipse,image,jar,Java,Eclipse,Image,Jar,因此,我正在使用Java制作一个基本的文本冒险游戏,并且我已经决定包含图像。 我用于将图像加载到程序中的代码如下: imagePanel=newjpanel(); 图像面板.立根(50,50,400,260); imagePanel.setBackground(颜色:黑色); con.添加(图像面板); imageLabel=新的JLabel(); image=newimageicon(“.//res//towngate.jpg”); imageLabel.setIcon(图像); imageP

因此,我正在使用Java制作一个基本的文本冒险游戏,并且我已经决定包含图像。 我用于将图像加载到程序中的代码如下:

imagePanel=newjpanel();
图像面板.立根(50,50,400,260);
imagePanel.setBackground(颜色:黑色);
con.添加(图像面板);
imageLabel=新的JLabel();
image=newimageicon(“.//res//towngate.jpg”);
imageLabel.setIcon(图像);
imagePanel.add(imageLabel);
当我在eclipse中运行程序时,一切都很好,但是当我将其导出为jar时,没有任何图像出现。
如果有人能帮我解决这个问题,我将不胜感激。谢谢

确保您的图标包含在jar文件中,并尝试在运行时使用类加载器进行查找。(以下示例)不要使用任何相对或绝对路径,只需使用文件名即可:

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

jar中的对象不是文件,因此不能使用ImageIcon构造函数的文件名形式来访问它们。看到类似于