[英]How to make a jar runnable in order to save images
我有一個問題:我將圖像放在項目文件夾中,例如E:\\ All Work IT \\ Java All \\ JavaWork \\ TestingDB,並且當我使用此代碼行使用圖像時
ImageIcon icon = new ImageIcon("start.png");
它完美地工作! 但是,當我想制作一個Runnable jar文件(導出->選擇Runnabable jar文件)並打開特定的jar時,圖像不會出現在按鈕,菜單等上。
我需要在哪里放置圖像以解決此問題,並使用什么代碼? 謝謝。
new ImageIcon(file)指定一個在JAR內不起作用的本地文件。嘗試更改該行以使用類加載器。
new ImageIcon(getClass().getResource("/start.png"));
如果您處於靜態環境
new ImageIcon(Foo.class.getResource("/start.png"));
我不確定您的項目結構或IDE(如果有的話),因此我無法就圖像的去向提出任何建議。 只要確保圖像包含在JAR導出中並最終出現在頂層,或者確保結構與您的getResource()調用相匹配
如果最簡單的方法之一是將圖像包括在jar文件本身中,那么這將減少您需要部署的資源數量。 部署一個jar遠比部署jar文件和一堆(如果有映像)容易得多
它還減少了執行上下文和必須計算相對路徑的可能問題
實現此目標的人將取決於您構建jar的方式,例如在Netbeans和Eclipse中,您可以將映像復制到src
目錄中。 在maven中,您需要將圖像包括在resources
目錄中
這將改變您用於加載圖像或資源的方式
您將需要根據需要使用Class#getResource
或Class#getResourceAsStream
,例如
ImageIcon img = getClass().getResource("/start.png");
請記住,您將需要使用src
目錄上下文中圖像的完整路徑
這意味着如果將resources
放置在src
目錄下的images
目錄中,則需要使用/images/start.png
作為示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.