创建可运行的JAR文件后ImageIcon丢失

时间:2012-12-24 15:31:56

标签: java eclipse image embedded-resource imageicon

enter image description here

当我在Eclipse中点击播放但在我创建了可运行的JAR文件之后项目运行正常时,该按钮的ImageIcon消失了。 /> 图像存储在src文件夹中,或者是子文件夹图像 我创建了图像图标为

  • 图标playIcon =(Icon)new ImageIcon(“src / images / play.png”);
  • 虽然我使用相对路径,但按钮不显示图像,如何在JAR文件中获取图像?



    Nikolay Kuznetsov回答后的更新

    我最终为屏幕录制器创建了一个非结构化的单片代码,现在实现他所说的内容有点困难。
    我想知道是否有一种方法可以创建一个包含所有这些资源的类或接口

  • 例如:
  • public class embeddedResources {
        public static Icon blackCursor;
        public static Icon whiteCursor;
        ...
        ...
    }  
    

    然后,我所要做的就是导入这些静态并在我的主ScreenRecorder课程中

    this.blackCursor = embeddedResources.blackCorsor;
    

    2 个答案:

    答案 0 :(得分:3)

    我遇到了同样的问题。 尝试制作JAR文件并将图像添加到extern文件夹。 所以你在这个文件夹中有一个文件夹“Game”是你的图像文件夹,名为“images”左右,你的jar文件。 如果您现在编辑“../images/play.png”的文件夹路径,它应该可以工作。

    答案 1 :(得分:3)

    我正在使用此方法将图像读入BufferedImage,其中IconManager是定义它的类。

    private static BufferedImage readBufferedImage (String imagePath) {
        try {
            InputStream is = IconManager.class.getClassLoader().getResourceAsStream(imagePath);
            BufferedImage bimage = ImageIO.read(is);
            is.close();
            return bimage;
        } catch (Exception e) {
            return null;
        }
    }