当我在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;
}
}