我导出它时.jar文件里面的图片不会工作

时间:2014-03-18 01:44:57

标签: java eclipse image swing jar

我导出时,.jar文件中的图片无法正常工作。

我创建了一个显示图片的Java程序,它在Eclipse中完美运行,但是当我将它导出到.jar文件时,它不会显示图片。我刚开始学习Java,我没有创建Jar文件和使用jar文件中的文件的经验。

继承我的代码:

import javax.swing.*;
class displayPicture{
public static void main(String args[]){


    JFrame frame = new JFrame();
    ImageIcon icon = new ImageIcon("src/img.gif");
    JLabel label = new JLabel(icon);

    //Create the frame
    frame.add(label);
    frame.pack();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

}
}

它显示了我在Eclipse中运行时的图片,但是当我将它导出到.jar文件时,它只显示一个空白窗口。

1 个答案:

答案 0 :(得分:3)

两件事......

<强>第一

构建代码后,路径src不太可能存在

<强>第二

ImageIcon(String)假设String引用是对文件系统上文件的引用。存储在应用程序上下文中的资源不是文件,而是以不同方式处理。它们通常被称为嵌入式资源。

相反,请尝试使用ImageIcon icon = new ImageIcon(displayPicture.class.getResource("img.gif"));ImageIcon icon = new ImageIcon(displayPicture.class.getResource("/img.gif"));

我更喜欢使用ImageIO.read,因为当出现问题并支持更多文件格式时会抛出IOException

有关详细信息,请参阅Reading/Loading an Image

您还应该花时间阅读Code Conventions for the Java Programming LanguageInitial Threads