用eclipse生成.jar文件后如何加载图像?

问题描述

我刚刚用Java编写了一个迷你程序,该程序可以拍摄图像并将其打印在框架上。 我使用JPanel加载图像:

public class Board extends JPanel {

    private Image mummy;

    public Board() {

        initBoard();

    }

    private void initBoard() {
    
        loadImage();
    
        int w = mummy.getWidth(this);
        int h =  mummy.getHeight(this);
        setPreferredSize(new Dimension(w,h));        
    }

    private void loadImage() {
    
        ImageIcon ii = new ImageIcon("mummy.png");
        mummy = ii.getimage();        
    }

    @Override
    public void paintComponent(Graphics g) {

        g.drawImage(mummy,null);
    }
}

和JFrame进行打印。 然后,我通过Eclipse的export部分(可运行的JAR文件)创建了.jar文件

问题是,现在运行.jar文件时无法加载图像。我尝试将图片放在.jar压缩文件中的任何地方,但是代码无法加载。

每个人都知道如何使用此方法加载图像,还是应该使用包装器而不是eclipse来创建.jar文件

解决方法

我知道了:

ImageIcon(“”)作为默认的起始目录放置了所有代码,但是在eclipse项目和eclipse生成的Runnable jar文件之间有所不同。 -当是项目时:这是项目的目录,因此src和bin目录在哪里。 -如果是.jar:src不存在,则起始目录现在是.jar文件所在的目录。

例如: 为简单起见,让我们将创建的可运行文件放在〜目录中。

-使用new ImageIcon("src/images/mummy.png"),您必须将带有相关文件的目录“ images”放入项目的src目录(源文件和包所在的目录)中,形成如下结构:>

... eclipse-workspace / Project / src / cli / *。java-源代码所在的地方。

... eclipse-workspace / Project / src / images / mummy.png-文件所在的位置。

在使用eclipse创建可运行的.jar之后,您必须在.jar所在的目录中放置一个新的“ src”目录,其中带有“ images”,形成如下结构:

〜/ project.jar(.jar文件)

〜/ src / images / mummy.png(我在代码中使用new ImageIcon("src/images/mummy.png")加载的图像

仍然感谢您的评论。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...