0

在此处输入图像描述

当我在 Eclipse 中单击播放时,项目运行良好,但在创建可运行的 JAR 文件后,ImageIcon按钮消失了。
图像存储在 src 文件夹中,位于子文件夹 images 下。
我将图像图标创建为

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



    尼古拉库兹涅佐夫回答后更新

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

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

    然后我所要做的就是在我的主ScreenRecorder类中导入这些静态数据,

    this.blackCursor = embeddedResources.blackCorsor;
    
    4

    2 回答 2

    3

    我正在使用这种方法将图像读入BufferedImageIconManager 是定义它的类的位置。

    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;
        }
    }
    
    于 2012-12-24T15:41:09.450 回答
    3

    我有同样的问题。尝试制作 JAR 文件并将图像添加到外部文件夹。所以你在这个文件夹中有一个文件夹“游戏”是你的图像文件夹,叫做“图像”或者你的 jar 文件。如果您现在将文件夹路径编辑为“../images/play.png”,它应该可以工作。

    于 2012-12-24T15:37:24.040 回答