[英]Image not exporting when making runnable jar
在我的项目中,我使用系统托盘,当我编译程序时,一切正常,并且显示用于系统托盘的图标。
该图标位于项目文件夹中,并且与该图标相关的代码为
Image icon = Toolkit.getDefaultToolkit().getImage("Icon.png");
trayIcon = new TrayIcon(icon, "Program name", popup);
trayIcon.setImageAutoSize(true);
tray.add(trayIcon);
正如我说的,一切正常,但是当我将项目导出为可运行的jar时,程序将运行,但图标不会显示,但它只是空白。
如果您想从.jar文件中加载资源,请使用getClass().getResource()
。 这将返回具有正确路径的URL。
Image icon = ImageIO.read(getClass().getResource("image´s path"));
要访问jar中的图像,请使用Class.getResource()
。
我通常会这样做:
InputStream stream = MyClass.class.getResourceAsStream("Icon.png");
if(stream == null) {
throw new RuntimeException("Icon.png not found.");
}
try {
return ImageIO.read(stream);
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
stream.close();
} catch(IOException e) { }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.