[英]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.