沒有運氣,通過我在谷歌上找到的工作。來自罐子的Java小程序
回答
可以加載使用任何資源上可用的類路徑,你的罐子將成爲其中的一部分,使用ClassLoader.getResource(String)
您可以獲取到相關ClassLoader
對象的引用Class.getClassLoader()
ClassLoader cl = MyClass.class.getClassLoader();
如果您的圖像被命名爲myimage.png
,並且位於jar內的目錄images
中,則可以像這樣獲取圖像。
URL url = cl.getResource("images/myimage.png");
然後,您可以使用URL在內存中創建圖像對象。
Image i = Toolkit.getDefaultToolkit().createImage(url);
最好鏈接到最新版本的JavaDocs。我編輯了您的答案以指向J2SE 7.有關獲取最新文檔鏈接的提示,請參見[優點2](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) 。 +1的答案。 –
謝謝。美麗。順便說一下,有什麼類似的方式來做到這一點與音頻文件?工具包似乎沒有涵蓋它。 – user1012037
我建議看看這個問題http://stackoverflow.com/questions/26305/how-can-i-play-sound-in-java。值得注意的是,如果你想使用的方法不接受一個URL對象,但會採用'InputStream'。您可以通過調用其上的'openStream()'方法來使用URL對象來獲取原始的'InputStream'。然後你可以將這個字節流傳遞給你需要的任何東西。 – Dev
在Java網站上的教程How to Use Icons可能對您有用。
你會做這樣的事情:
java.net.URL imgURL = this.getClass().getResource(path);
的getResource()
方法使用相同的加載規則由ClassLoader
的類定義。
- 1. Java小程序 - 簽名Applet類,而不是小程序罐子
- 2. 來自一個罐子的多個java進程
- 3. Java中,罐子
- 4. 自簽名Java小程序
- 5. Android無法解析來自外部罐子的課程
- 6. Maven:使用來自進口罐子的課程
- 7. Maven:包括來自遠程倉庫的罐子
- 8. 向Java應用程序動態添加豆子和罐子
- 9. 的Java的HttpClient-4.1.2罐子
- 10. Java的Minecraft罐子擴展
- 11. 罐子裏面的java庫
- 12. 罐子的.java轉換
- 13. 春:通過Java的罐子
- 14. Java的罐子運行
- 15. 來自Java程序的線程
- 16. 運行調用外部罐子的Java程序
- 17. Java程序在eclipse中的工作,但從罐子裏
- 18. 將罐子到您的程序
- 19. Java,我該如何製作一個罐子來編輯另一個罐子
- 20. Ant構建包含來自lib的子目錄的罐子
- 21. Spark斯卡拉,自包含應用程序中的空罐子
- 22. 認證罐(不含小程序)
- 23. 的區別java命令Java的罐子
- 24. 將Java程序連接到超級罐子上
- 25. 罐子給空指針異常java程序
- 26. 如何通過命令行用硒罐子運行Java程序
- 27. 使用來自Cobol程序的Java API
- 28. 來自java程序的SYN_SENT問題
- 29. 來自java程序的命令
- 30. 來自Java應用程序的SendMessage
1)確保將Jar條目設置爲「不壓縮」,如果它只包含圖像。 Zip(用於Jar)壓縮對圖像幾乎沒有影響。 2)我建議將這些類放入使用標準壓縮的獨立Jar中。它們將被壓縮得更小,JRE只需要連接到服務器就可以完成全部任務。你爲什麼不*要將applet放入Jar中? –