我使用Eclipse來創建我創建的遊戲的可執行jar文件,但是當我創建jar並運行它時,遊戲中的圖像不再顯示。我在哪裏存儲圖像,以便jar文件可以訪問它們?我在哪裏存儲圖像,以便可執行的jar文件可以訪問它們?
回答
將它們放入罐中,然後使用Class.getResource
,Class.getResourceAsStream
,ClassLoader.getResource
或ClassLoader.getResourceAsStream
來訪問它們。這是最合適的取決於你在做什麼其他,但你可能想是這樣的:
Image image = new Image(Program.class.getResource("/images/foo.jpg"));
...其中Program.class
是同一個jar文件中的任何類。或者,如果你在同一個文件夾作爲類存儲您的圖片(由你展開時),你可以只使用:
Image image = new Image(GameCharacter.class.getResource("knight.jpg"));
這是一個相對資源名。 (相對於有問題的類。)
如果我這樣鍵入,它會顯示「無法實例化類型圖像」。我有一個名爲Resources的類和一個名爲MountainBackground的圖像,所以我寫了Image image = new Image(Resources.class.getResource(「MountainBackground.png」)); – ramuh1231 2013-02-18 16:03:39
@ user2081893:這只是一個隨機的例子 - 因此「類似」。我們不知道您正在編寫什麼類型的應用程序,或者您正在使用哪個圖像類。您應該相應地調整它 - 或者在問題中提供更多信息。 – 2013-02-18 16:08:29
我得到它的工作!謝謝! – ramuh1231 2013-02-18 16:56:15
爲什麼你不能將它們嵌入到jar文件中?
更新:我怎麼沒在我的任務之一是: 內嵌在jar文件中的圖像,以及:
URL url = getClass().getResource("/banana.jpg");
if (url == null)
{
// Invalid image path above
}
else
{
// path is OK
Image image = Toolkit.getDefaultToolkit().getImage(url);
}
import java.net.URL;
URL imageURL = getClass().getResource("/Icon.jpg");
Image img = tk.getImage(imageURL);
this.frame.setIconImage(img);
我的文件結構是:
./ - the root of your program
|__ *.jar
|__ path-next-to-jar/img.jpg
代碼:
String imgFile = "/path-next-to-jar/img.jpg";
InputStream stream = ThisClassName.class.getClass().getResourceAsStream(imgFile);
BufferedImage image = ImageIO.read(stream);
用你自己的替換ThisClassName
,你全部設置!
- 1. 在哪裏可以通過FileInputStream保存文件以便訪問
- 2. 我應該在哪裏存儲NSUserDefaults,以便我可以更新它們?
- 3. 我在哪裏可以找到存儲在S3中的文件訪問日誌
- 4. 在webhosting哪裏存儲我的代碼和圖像文件以及如何訪問它們?
- 5. 我在哪裏可以找到iPhone圖像的存儲庫?
- 6. 我在哪裏可以將默認圖像存儲在android
- 7. 骨幹模型對象....它們在哪裏存儲以便DOM可以與它們交互?
- 8. 我在哪裏可以訪問StringUtils.replaceEach()?
- 9. 從Cmake的find_program保存可執行文件,以便它可以由Python運行
- 10. .NET Compact Framework - 在哪裏放置文件以便它們可以被模擬器訪問
- 11. 我在哪裏可以訪問windows上的docker文件系統
- 12. jQuery Mobile圖標我在哪裏可以找到它們?
- 13. 我在哪裏可以下載Akka 2.5.6的庫.jar文件?
- 14. 我在哪裏可以找到Spark 1.6中的jar文件夾?
- 15. 我在哪裏可以下載datasync API的jar文件?
- 16. 我在哪裏可以存儲數據(文本和圖像)在android
- 17. 我在哪裏可以在Tomcat 6中放置servlet jar文件?
- 18. 從哪裏可以獲得可執行文件在linux上
- 19. Xcode條件清單,我在哪裏可以找到它們?
- 20. 從哪裏可以獲取Xperia Active的設備配置文件,以便我可以在Flash Builder中使用它?
- 21. 我可以在哪裏存儲從站點下載的可執行代碼並運行它?
- 22. 我可以在哪裏下載skydrive sdk API jar文件
- 23. 我在哪裏可以得到x86.jar,armeabi.jar armeabi-v7a.jar文件?
- 24. 我可以使用JNDI訪問文件/它們的內容嗎?
- 25. ASP.Net MVC2:我可以在哪裏存儲文件,以便能夠在我的開發箱和生產環境中訪問它?
- 26. 哪裏可以存儲Laravel的圖像4 Views
- 27. 我可以在哪裏調用我的函數,以便測試它?
- 28. 哪裏可以放置NodeJS的JS文件來查看它們
- 29. 存儲位置,沒有人可以訪問它,但可以訪問在PHP
- 30. User.find_for_oauth - 我可以在哪裏找到它?
http://stackoverflow.com/questions/6373021/how-to-includes-all-images-in-jar-file-using-eclipse – 2013-02-18 15:48:29