最近在做javafx的一个小项目,在设置logo和图标的时候明明把图片放到正确的位置了,但老是报错加载失败、inputstream为null、图片路径错误、URL、URI格式错误。
我一直以为是图片位置名称或者格式不对......
焯!今天终于彻底解决了,
原因:我感觉可能是频繁调试导致Maven自动生成的target目录下我们的资源好多还没编译进去,查看项目目录下果然!
1. 检查target目录
需要的图片虽然idea的resources下可以看见,但并没有出现在 target下面!!!
2.手动添加图片
手动将图片复制到target下的classes目录下,对照idea的位置放置
此外,结合这几天读取图片失败的坑,建议javafx下使用的读取方式:
InputStream ins = getClass().getResourceAsStream("/icon/sys.png");//resources/icon/sys.png Image image = new Image(ins); ImageView icon = new ImageView(image); icon.setFitWidth(13); icon.setFitHeight(13); treeRoot.setGraphic(icon);