java .jar中使用.png文件

时间:2017-10-03 11:01:01

标签: java intellij-idea resources

我的结构很简单,如:

this

我想在.png文件的程序中使用图像(.jar)(在我编译之后)。 我已经阅读了getResourceAsStream以及我应该如何定义.png文件的名称,以便在.jar编译之后它可以工作。

但它在.jar中不起作用,只有当我通过IDE( Intellij Idea )启动应用程序时它才有效。 有人可以帮我这个吗?

详细信息:

ImageView imgY = new ImageView(new Image(this.getClass().getResourceAsStream("Y.png")));
ImageView imgN = new ImageView(new Image(this.getClass().getResourceAsStream("N.png")));

在IDE中,我设置了包含.png的文件夹 - 图像为Resources (look screenshot)

抱歉,我无法添加屏幕截图 - 未达到的声誉 的 UPD: 我忘了说,编译后.jar - 文件包含我的.png文件,但是当我运行它时,我给出了错误:
screen again

3 个答案:

答案 0 :(得分:1)

this.getClass()。的getResourceAsStream( “/ Y.png”)

/ /很重要(我无法评论你的评论 - 需要50个声誉)

在像IntelliJ这样的IDE中,png仍然是一个文件,不包含在jar中,这应该是双向的

yuo也可以使用

this.getClass()。getClassLoader()。的getResourceAsStream( “Y.png”)

答案 1 :(得分:0)

第二个问题,你是如何创建jar的? (你使用maven,IntelliJ,其他)

你是否双击它以启动?

是清单中设置的主要类(不,因为缺少清单)?

您可以在拍摄屏幕截图之前将英语设置为Winrar中的语言

答案 2 :(得分:0)

@JurgenDeLandsheer的回答对我有用。尝试通过以下方法获取图像:

this.getClass()。getResourceAsStream(“ / Y.png”)