我知道这已被多次询问过,我已经广泛搜索过这个可能很简单的问题的解决方案。我正在尝试在Oracle网站上关注简单的javaFX组件教程。我可以这样定义图像:
Image img = new Image("images/portal.png", 50, 50, true, true);
当图像位于“src”文件夹内的文件夹中时,这是有效的,但是当我将图像文件夹放在“src”文件夹之外时,我试图让它找到图像,如下所示:
http://puu.sh/drF7K/bbf1a047aa.png
我该如何使这项工作?我得到的只是“无效的URL或资源未找到”的错误。我试图使用绝对路径,尝试在其前面放置“..”,尝试“HS-Graph / images / portal.png”以及其中的所有内容:(谢谢!
答案 0 :(得分:15)
我会回答我自己的问题,因为我确实找到了解决方法!我的解决方案是使用"文件:"指定路径时的前缀。所以:
Image img = new Image("file:images/portal.png");
当图片文件位于我的 src 文件夹之外时,效果非常好!
答案 1 :(得分:1)
我认为您遇到了问题,因为Images文件夹不在您的项目范围内。您可以考虑更改项目的结构。
例如:
->src
|-->main
|--->java
|-->(default package)
|--->resources
|-->images
然后您应该可以使用路径访问您的图像./src/main/resources/images/portal.png
答案 2 :(得分:0)
让我试着这样说吧; 如果要使用在不同目录中找到的图像,最好指定其相对路径。示例,如果我在我的ImageFile上寻找门户网站图像。我会这样做:
Image img = new Image("file:images/portal.png");