2013-02-13 133 views
-6

我在加載圖片時出現問題。在命令提示符(運行是主類)中使用Java Run編譯後運行應用程序(不會生成錯誤)會加載圖像,但在將其打包到jar文件後,它無法加載圖像。打包這些類時,我將圖像源與它的類一起打包。我無法加載圖像

我這是怎麼加載圖片:

ImageIcon icon = new ImageIcon(getClass().getResource("resources/images/button6.gif")); 

類和包含圖像是在同一目錄下的文件夾。

+2

你的大寫鎖定被阻止... – wrm 2013-02-13 13:51:17

+0

你是否打擾搜索:http://stackoverflow.com/questions/1424547/image-not-loading?rq=1,http://stackoverflow.com/questions/4675617/my-jar-file-wont-load-images?rq = 1,http://stackoverflow.com/questions/4971587/loading-images-from-a-jar-file?rq=1 – 2013-02-13 13:53:44

+0

我試過了,它沒有工作。 – Cocest 2013-02-13 14:00:21

回答

0

在JAR中打包是不同的。

嘗試創建清單並向其添加Class Path條目。列出圖像存在的相對於JAR根的路徑,看看是否有幫助。

+0

我會嘗試。 – Cocest 2013-02-13 13:59:33

0

嘗試:

ImageIcon icon = new ImageIcon(MyClass.class.getResource("/resources/images/button6.gif")); 

原因:

  • 相對路徑在包中的類的開始,但你可能想在罐的根級開始(假設「資源」是一個在JAR頂級目錄)

http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource%28java.lang.String%29

+0

謝謝普斯,我會盡力的。 – Cocest 2013-02-13 15:29:32

+0

普斯,我嘗試它沒有工作的例子。 – Cocest 2013-02-13 16:56:36

+0

如果你打開你的jar(例如用zip工具或用jar工具解壓jar),它看起來像什麼? button6.gif的路徑是什麼?罐子的gif部分? – Puce 2013-02-13 17:00:28

-1

我試圖加載的圖像是一個gif圖像格式,其中文件擴展名gif是大寫字母(即, .GIF)。我將圖像擴展名更改爲小寫,並解決了問題。