2012-12-19 66 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

你最欢迎,并保持微笑:-) –

相关问题