Java Jar导出不显示图像

Java Jar导出不显示图像,java,eclipse,image,jar,export,Java,Eclipse,Image,Jar,Export,我是Java的新程序员。我制作了一个小的目录应用程序,我想导出它,但是由于某种原因,每当我尝试将它导出到一个可运行的jar文件时,结果不包含我在程序中指定的任何图像。基本上,我在eclipse中运行它,它运行得很好,但当我将它作为可运行的JAR运行时,它没有图像。我有5.java文件,它们彼此捆绑在一起。我的图像位于Images/Image.png[我已经将图像文件夹设置为源文件夹。] 我什么都试过了,但由于某种原因,我无法让它发挥作用,如果你对这个话题有任何了解,请告诉我。我不知道是因为我是个

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

我什么都试过了,但由于某种原因,我无法让它发挥作用,如果你对这个话题有任何了解,请告诉我。我不知道是因为我是个笨蛋还是我做错了什么

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

您是否尝试了
getResourceAsStream()
方法?有关详细信息的签出页面

以下是我使用的方法:

 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"

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

那么您如何加载和显示图像呢?听起来好像您依赖于本地磁盘文件系统路径而不是类路径。我在项目中添加了一个源文件夹,并在该文件夹中放入了我的3个映像。[文件夹名称为“图像”]。我使用ImigIcon方法引用了它们。您是否将这些图像添加到eclipse项目中(不仅仅是它们所在的目录)?我告诉eclipse它是一个源文件夹。够了吗?不,还不够。我同意这似乎是一个古老的问题,将资源作为Jar文件中的文件处理。只需记住,Jar文件中不存在文件,您应该做得很好。搜索这个论坛,你会发现这个问题已经被询问和回答了一百万次。正如我所说,我是一个很好的noob,我真的不知道如何在ImigIcon上实现它。这有用吗?你有什么进展吗?