0

我是Java的新程序员。我制作了一个要导出的小型目录应用程序,但由于某种原因,每当我尝试将其导出到可运行的 jar 文件时,结果不包含我在程序中指定的任何图像。基本上,我在 Eclipse 中运行它,它运行良好,但是当我将它作为可运行的 JAR 运行时,它没有图像。我有 5 个相互捆绑的 .java 文件。我的图像位于 Images/Image.png [我已经将图像文件夹设为源文件夹。]

我已经尝试了一切,但由于某种原因我无法让它工作,如果您对该主题有任何了解,请告诉我。我不知道是因为我是菜鸟还是我做错了什么。

static ImageIcon logoicon = new ImageIcon("Images/Logo.png");
4

2 回答 2

0

你试过getResourceAsStream()方法吗?查看页面以获取更多信息

于 2012-09-14T14:35:48.693 回答
0

这是我使用的方法:

 public static ImageIcon createImageIcon(final String path) {
    InputStream is = ImageLoader.class.getResourceAsStream(path);
    int length;
    try {
        length = is.available();
        byte[] data = new byte[length];
        is.read(data); 
        is.close();
        ImageIcon ii = new ImageIcon(data);
        return ii;
    } catch (IOException e) {
        LogManager.logCriticalProblem("Image not found at {} - {}", new Object[]{path, e.getMessage()});
    }
    return null;
}

如果您对此方法有疑问,请尝试更改您正在使用的路径:

 "Images/Logo.png"
 "/Images/Logo.png"
 "src/Images/Logo.png"
 "/src/Images/Logo.png"

或其他组合,具体取决于您的包结构。例如,如果您的图像实际上是 in net.blah.fizz.Images,那么您的路径将是"/net/blah/fizz/Images/image.png"

于 2012-09-14T15:06:15.513 回答