我的结构很简单,如:
我想在.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
答案 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”)