当我在Eclipse中单击播放时,项目运行正常,但是在创建可运行的JAR文件后,按钮的ImageIcon消失了。
图像存储在src文件夹中,并带有子文件夹图像。
我将图像图标创建为
 图标playIcon =(图标)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;

最佳答案

我正在使用此方法将图像读取到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;
    }
}

10-07 16:29
查看更多