我想获取我的Image对象中加载的当前Image的路径名。
我有以下代码:
Image lol = new Image("fxml/images/bilhar9.png");
我想做类似的事情:
lol.getPath();
应返回“fxml / images / bilhar9.png”,我发现方法impl_getUrl()但不推荐使用。
我该怎么办?
答案 0 :(得分:13)
您无法通过未弃用的API从图像中获取图像路径,因为Java 8中不存在此类API。您可以使用已弃用的API并在将来的Java版本中破坏应用程序的风险已弃用的API已删除 - 这是不可取的。您可以create a feature request使getURL()成为图像上的公共API,但是不能保证会被接受,即使它已经被接受,它也只会进入以后的Java版本。
图片不是最终的,所以我建议如下:
class LocatedImage extends Image {
private final String url;
public LocatedImage(String url) {
super(url);
this.url = url;
}
public String getURL() {
return url;
}
}
像这样创建你的形象:
Image image = new LocatedImage("fxml/images/bilhar9.png");
然后您可以通过以下方式访问网址:
String url = image instanceof LocatedImage
? ((LocatedImage) image).getURL()
: null;
不是一个很好的解决方案,但对你的情况来说可能就足够了。
答案 1 :(得分:0)
img()。impl_getUrl()返回字符串路径