我想获取我的
Image对象中加载的当前
Image的路径名.
我有以下代码:
Image lol = new Image("fxml/images/bilhar9.png");
我想做的事情如下:
lol.getPath();
应该返回“fxml / images / bilhar9.png”,我发现方法impl_getUrl()但不推荐使用.
我该怎么办?
解决方法
您无法通过未弃用的API从映像获取映像路径,因为Java 8中不存在此类API.您可以使用已弃用的API,并在删除已弃用的API时在将来的Java版本中破坏应用程序的风险 – 这是不可取的.您可以
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;
不是一个很好的解决方案,但可能足以满足您的需求.