簡體   English   中英

如何使罐子可運行以保存圖像

[英]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#getResourceClass#getResourceAsStream ,例如

ImageIcon img = getClass().getResource("/start.png");

請記住,您將需要使用src目錄上下文中圖像的完整路徑

這意味着如果將resources放置在src目錄下的images目錄中,則需要使用/images/start.png作為示例。

暫無
暫無

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

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