1

我正在尝试启动一个包含程序中使用的图像的 JAR 文件。但是它找不到它们,因此标签变为空白。我该如何解决这个问题?

我是否需要 JAR 文件夹的同一文件夹中的所有图像并进入我的代码并编辑目录,或者这不起作用?

编辑,由此获得的图像:

hex19.setIcon(new ImageIcon("src/hexHouse.png")); //How the images are used.
4

1 回答 1

4

您的问题是您实际上是在尝试将图像作为文件获取,而 pf jar 中不存在文件。相反,您必须将图像作为资源。

IE,

  BufferedImage img = ImageIO.read(getClass().getResourceAsStream("imageStreamLocation.png"));
  ImageIcon icon = new ImageIcon(img);
  hex19.setIcon(icon);

关键是使用正确的图像流位置。这应该是“文件”的相对路径,但相对于 jar 类文件的位置。

于 2013-03-18T01:16:09.520 回答