簡體   English   中英

引用 a.jar 文件中的圖像

[英]Referencing an image in a .jar file

我在引用 jar 文件中的簡單圖像時遇到了真正的麻煩。

I have a package au.com.mysite.pdf tha contains the java files I have a package au.com.mysite.pdf.res tha contains images

在我的 java 文件中,我引用了這樣的圖像getClass().getResource("/au/com/mysite/pdf/res/logo.png").getPath()

但永遠找不到圖像。 在首次亮相中,它看起來像這樣/C:/Documents%20and%20Settings/myname/workspace/gnupdf/bin/au/com/mysite/pdf/res/logo.png

windows 的前導“/”和分隔符不正確是什么意思。

我檢查了這個路徑,它在 MS Explorer 中不起作用。

更新

好的,它在某種程度上可以工作,除了圖像路徑不正確,/C: /C:/Documents%20and%20Settings/myname/workspace/gnupdf/bin/au/com/mysite/pdf/res/logo.png不是引用文件,前導斜杠和 %20 空格字符是什么? 如何將其轉換為文件 URL 而不是 web url?

我無法告訴您為什么這不起作用,但是當我參考存儲在 jar 中的圖像時,通常用於菜單圖標圖像,我使用:

ImageIcon image = new ImageIcon(this.getClass().getResource("/package/sub_package/image_name.png"));

這一直對我有用。

如果圖像位於 jar 中,則 getResource 不會返回任何有用的信息。 getResourceAsStream 可能是您想要的。

使用來自 a.jar 的 getResource 將起作用。 有幾件事:您的.jar 文件清單的類路徑是什么? a.jar 中的文件區分大小寫。

更新

我看到了你的問題可能是什么。 您正在嘗試獲取路徑,但這不是必需的,因為無論如何您都無法引用它。

而是這樣做:

BufferedImage image = ImageIO.read(this.getClass().getResource("images/image01.png)); 

然后您可以在 java 程序中使用您的圖像。

例如看這個:

如何列出 JAR 文件中的文件?

暫無
暫無

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

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