【问题标题】:Exporting java project to runnable jar file with images将 java 项目导出到带有图像的可运行 jar 文件
【发布时间】:2016-12-24 23:51:52
【问题描述】:

我正在尝试导出包含 som 图像的 java 项目,但导出后图像不显示。我已经阅读了这些类似的问题和答案:

Eclipse exported Runnable JAR not showing images

Exporting Images with JAR in Eclipse (Java)

我已经尝试了所有建议的不同选项,但导出项目后图像仍然不显示。

我试过这个文件结构:

通过这种结构,我使用以下代码创建图像:

Image picture = new Image("file:src/Pictures/download.png");

还有这个文件结构:

通过这种结构,我使用以下代码创建图像:

Image picture = new Image("file:Pictures/download.png");

在导出项目时,我选择了“将所需的库打包到生成的 JAR 中”:

当我从 Eclipse 运行程序时,图像会显示出来,但一旦我导出它,它们就会消失。我究竟做错了什么?我真的觉得我什么都试过了,但也许我遗漏了一些简单的细节?

谢谢!

【问题讨论】:

    标签: java eclipse export


    【解决方案1】:

    问题不在于创建 jar 文件,而在于您读取图像的方式,请在您的 java 代码中读取图像,如下所示。

    ImageIO.read( ClassLoader.getSystemResource( "image/button1.png" ) );
    

    【讨论】:

    • 好的,你能再解释一下吗?我是 javafx 的新手,所以我不是专家;)该代码似乎返回了一个缓冲图像。我想将我的图像放入图像视图中以在程序中显示它。但是在创建图像视图时,您似乎不能使用缓冲图像作为输入参数。如何让缓冲的图像出现在程序中?
    • 我使用了这段代码,现在它工作正常: ImageView imgViewPicture = new ImageView();尝试 { BufferedImage buffered = ImageIO.read( ClassLoader.getSystemResource("Pictures/download.png" ));图片图片 = SwingFXUtils.toFXImage(buffered, null); imgViewPicture = new ImageView(图片); imgViewPicture.setPreserveRatio(true); imgViewPicture.setFitHeight(250); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } 谢谢您的帮助! :)
    • InputStream stream = getClass().getResourceAsStream("/resources/icons/xyz.png"); ImageIcon icon= new ImageIcon(ImageIO.read(stream)) 。你可以通过icon.getImage()获取图片对象
    猜你喜欢
    • 1970-01-01
    • 2018-11-18
    • 2019-12-16
    • 2012-03-25
    • 1970-01-01
    • 2013-01-12
    • 2021-10-17
    • 2015-09-08
    • 1970-01-01
    相关资源
    最近更新 更多