【问题标题】:How can I include my icon when I export my project to a jar file将项目导出到 jar 文件时如何包含我的图标
【发布时间】:2012-12-06 08:15:35
【问题描述】:

我开发了一个桌面应用程序。问题是当我将应用程序导出到 jar 文件时,应用程序中未显示图标。当我从 Eclipse 运行它时,所有图标都显示在那里。

我的项目中的一个例子:

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();
    }

}

【问题讨论】:

    标签: java swing jar embedded-resource


    【解决方案1】:

    使用Class#getResource() 而不是将相对路径传递给ImageIcon 构造函数。

    还要确保图像文件实际上是生成的 JAR 的一部分。

    【讨论】:

      【解决方案2】:

      您可以修复 JAR 文件的布局,即在 Eclipse 中相应地排列文件夹,或者按照 Matt Ball 所说的那样使用 @987654321@@987654322@

      【讨论】:

        【解决方案3】:

        为了使其工作,请按照下列步骤操作:

        • 在项目浏览器树中右键单击您的项目。
        • 转到新建 -> 源文件夹,然后为源提供任何名称 文件夹。
        • 现在手动将您的内容添加到您创建的源文件夹中, 就像如果你想添加图像然后手动创建一个新文件夹 通过文件系统访问此源文件夹。
        • 将此新文件夹命名为图像并将您的图像复制到此文件夹。
        • 现在回到您的 Eclipse IDE 并从 项目资源管理器,通过右键单击您的项目,在这里您可以 刷新后立即查看您添加的内容。
        • 现在为了访问,说任何图像,你将使用。

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

        这将返回一个 URL 对象。请记住第一个正斜杠,在这种情况下,因为您的 Source Folder 中的任何内容都可以在此的帮助下以更简单的方式访问。现在当你运行你的项目时,这个源文件夹的内容将自动添加到 bin 文件夹中,当你创建一个 Runnable Jar 时,然后你的 Source 文件夹中的东西 strong> 可以按原样访问。

        在这个链接上,我试图用图片来解释这一点,how to add Images to your Eclipse Project

        【讨论】:

        • 你很受欢迎,保持微笑:-)
        猜你喜欢
        • 2014-10-20
        • 1970-01-01
        • 2013-05-14
        • 1970-01-01
        • 1970-01-01
        • 2013-08-29
        • 1970-01-01
        • 1970-01-01
        • 2014-10-17
        相关资源
        最近更新 更多