簡體   English   中英

圖像沒有從jar加載

[英]Image not loading from jar

我做了一個應用程序,其中我有一些圖像加載圖標。 當我使用加載圖像時,程序運行良好,每個工作和圖像加載按預期

imageOpen = Toolkit.getDefaultToolkit().getImage("Images\\open.png");

但是,當我將它導出為jar時,圖像沒有顯示然后看了這里和那里后我嘗試了一些東西,但在這兩種情況下,URL都返回null

URL u = this.getClass().getResource("Images\\open.png");
imageOpen = Toolkit.getDefaultToolkit().createImage(u);

另一個案例

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL resource = classLoader.getResource("Images\\open.png");
imageOpen = Toolkit.getDefaultToolkit().createImage(resource);

任何人都可以告訴我為什么我得到null,我甚至試過“\\ Images \\ open.png”,“/ Images / open.png”和“。\\ Images \\ open.png”作為我使用eclipse的路徑圖像存儲在父目錄中名為Images的文件夾中,源文件位於src> master中

使用images/open.png 正斜杠適用於任何操作系統。 另外, jar tvf你的jar文件,以確保圖像目錄是大寫的Images你認為它是。 它可能不是,如果您使用的是Windows(或不區分大小寫的文件系統),它可以在目錄中正常工作,但不能從jar中工作。

你確定url是null還是使用imageOpen時出現了問題? 有時Toolkit.getDefaultToolkit()。createImage()返回inmediatly但圖像未完全加載且imageOpen不可用。 您需要等待圖像的負載。 這是java代碼

JLabel label = new JLabel();
MediaTracker media = new MediaTracker(label);

Image imagen = Toolkit.getDefaultToolkit().getImage ("fichero.gif");
media.addImage(imagen, 23);
try
{
   media.waitForID(23);
}
catch (InterruptedException e)
{
   ...
}

借助於為jar創建資源包並從該文件中獲取路徑,我能夠實現我的問題的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM