2012-12-19 67 views
8

我開發了一個桌面應用程序。問題是,當我將應用程序導出到jar文件時,圖標未顯示在應用程序中。當我從Eclipse運行它時,所有圖標都顯示在那裏。當我將項目導出到jar文件時,如何包含我的圖標

從我的項目的例子:

package net.ebank.gui; 

import java.awt.*; 
import javax.swing.*; 


public class EBank extends JFrame { 

    protected Start s; 


    public EBank() { 

     setTitle("Welcome To EBank"); 

     setBackground(Color.white); 


     Image img = new ImageIcon("../EBank/res/bank.jpg").getImage(); 
     this.setIconImage(img); 

     /*"com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" 
     "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"*/ 

     setVisible(false); 

     setSize(1350,700); 

     setDefaultCloseOperation(this.EXIT_ON_CLOSE); 

     try { 

      UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 
     } catch (ClassNotFoundException e) { 

      // TODO Auto-generated catch block 

      e.printStackTrace(); 
     } catch (InstantiationException e) { 

      // TODO Auto-generated catch block 

      e.printStackTrace(); 
     } catch (IllegalAccessException e) { 
      // TODO Auto-generated catch block 

      e.printStackTrace(); 
     } catch (UnsupportedLookAndFeelException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 


     s= new Start(this); 

     s.setLocation(getWidth()/2, getHeight()/4); 


    } 

    public static void main(String[] args){ 
     new EBank(); 
    } 

} 

回答

6

使用Class#getResource(),而不是通過一個相對路徑ImageIcon構造。

同時確保圖像文件實際上是生成JAR的一部分。

+0

你能告訴我我的代碼 –

5

爲了使其工作,請按照下列步驟操作:

  • 右鍵單擊工程資源管理器樹中的項目。
  • 轉至新建 - >源文件夾,然後提供任何名稱的來源 文件夾。
  • 現在手動你的東西添加到所以,當你創造了這個源文件夾, 如果你想添加的圖像,然後創建一個新的文件夾,通過文件系統手動 訪問這個源文件夾等。
  • 將此新文件夾命名爲圖像並將圖像複製到此文件夾。
  • 現在回到Eclipse IDE並從 項目瀏覽器中刷新項目,通過右鍵單擊項目,在這裏您可以在刷新後立即看到您添加的內容 。
  • 現在爲了訪問,說任何圖像,你會使用。

    getClass().getResource("/images/yourImageName.extension"); 
    

這將返回一個URL對象。千萬記得第一斜線,在這種情況下,無論是你的源文件夾裏面與此幫助下訪問,簡單來說。現在,當你運行你的項目,這個源文件夾的內容將被自動添加到bin文件夾,當您將創建源文件夾運行的JAR,則東西可以訪問,因爲它是。

在這個環節,我曾試圖解釋與圖片,how to add Images to your Eclipse Project

+0

一個例子thack你是有幫助 –

+0

你最歡迎,並保持微笑:-) –

相關問題