首页 > 解决方案 > 如何将 BufferedImage 加载到可运行的 JAR 文件中?

问题描述

我正在尝试从我的项目中导出一个 JAR 文件,我需要一些我BufferedImage的 s 来加载它。

结构是这样的:

-src
  -img
  -models
  -views

...并且知道我所有的图像文件都存储在img包中。我正在尝试在JPanel其他项目中执行此操作:

public class BelowPanel extends JPanel {

    private BufferedImage img;

    public BelowPanel() {
        initImage();
        setOpaque(false);
    }

    private void initImage() {
        try {
             img = ImageIO.read(getClass().getResourceAsStream(("/img/titan.png")));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


    public void paint(Graphics g) {
        super.paint(g);
        Graphics2D g2 = (Graphics2D)g;
        g2.drawImage(img, 0, 0,this.getWidth(),this.getHeight(), this);
    }
}

当我运行它时,它会显示图像,但是一旦我在桌面上生成 JAR 文件,它甚至不会运行。

我的Image类型图像没有任何问题,但BufferedImage无法加载。

所以......你知道一种加载我的“titanImage”的方法,这样我就可以生成一个可以正常工作的运行 JAR 文件吗?

标签: javajarpathloadbufferedimage

解决方案


推荐阅读