1. 程式人生 > >Eclipse下匯出java程式可執行的jar包圖片無法顯示問題的一種解決方法

Eclipse下匯出java程式可執行的jar包圖片無法顯示問題的一種解決方法

說明:在eclipse中執行java程式的時候一切正常,可是當把jar包匯出的時候卻發現圖片沒法顯示,這估計是java程式的各種配置和路徑問題所導致,後來找到一種解決方法,供遇到這方面問題的學習java程式的鞋同參考:

Java專案下的目錄結構如下:


其中class類放在包:package accpedu; (即實際是在如上bin/accpedu資料夾下面)

通過下面的方法來引用圖片時,在eclipse裡面執行是可以正常顯示圖片的:

    ImageIcon image1 = new ImageIcon();

    ImageIcon image2 = new ImageIcon();

    ImageIcon image3

 = new ImageIcon();

    ImageIcon image4 = new ImageIcon();

    ImageIcon image5 = new ImageIcon();

    image1 = new ImageIcon("images/butffler.jpg");

     image2 = new ImageIcon("images/username.gif");

    image3 = new ImageIcon("images/password.gif");

    image4 = new ImageIcon("images/warning.gif"); 

    image5 = new ImageIcon("images/role2.jpg");


但是匯出jarschool2.jar後執行,卻發現圖片沒有顯示出來:


經過一番分析和除錯之後,找到了一種解決方法,將引用圖片的那段程式碼修改為下面的方式:

//這種方法即可以在eclipse下找到圖片路徑,也可以在匯出的jar包中找到圖片路徑 

 //圖片必須要放在class目錄下面

      java.net.URL imgURL1 = LoginFrame.class.getResource("butffler.jpg");

      image1 = new ImageIcon(imgURL1

);

      java.net.URL imgURL2 = LoginFrame.class.getResource("username.gif");

      image2 = new ImageIcon(imgURL2);

      java.net.URL imgURL3 = LoginFrame.class.getResource("password.gif");

     image3 = new ImageIcon(imgURL3);

     java.net.URL imgURL4 = LoginFrame.class.getResource("warning.gif");

     image4 = new ImageIcon(imgURL4);

     java.net.URL imgURL5 = LoginFrame.class.getResource("role2.jpg");

     image5 = new ImageIcon(imgURL5);

然後還需要匯入一個圖片的jar包,由於這種方法必須把圖片檔案(如butffler.jpg)放在class的相同目錄下,即放到目錄accpedu下,否則會找不到圖片路徑的;這樣需要把images資料夾改名為accpedu並壓縮為accpedu.jar包,其中accpedu檔案裡面就是直接的圖片檔案,沒有多餘的資料夾,這是因為class類放在包:package accpedu;中;然後就可以匯入accpedu.jar到專案中,如下:



通過這樣的命名規則(package accpedu;)匯入accpedu.jar包後,其圖片會自動匯入到了class相同的目錄下:

然後再匯出java程式的可執行的jarschool.jar



解壓school.jar包後,圖片的確匯入到了class相同的目錄下:


注意:圖片的jar包的命令規則必須與class在包中package的結構一致,這樣才能正確的把需要匯入的圖片導到class相同的目錄下;另外,用這種方法來顯示圖片,必須確保圖片導到了class目錄下,否則程式執行會出現問題,假如圖片檔名寫錯了butffler.jpg 寫成butffler1.jpg即會出現下面問題,不僅圖片顯示不出來,更嚴重的是整個登入框可沒顯示完整,這是需要注意的:


到此,上述就是一種關於解決eclipse匯出java程式的可執行的jar包的圖片無法顯示的方法!