lip*_*inf 7 java image relative-path javafx-8
我想获取我的Image对象中加载的当前Image的路径名.
我有以下代码:
Image lol = new Image("fxml/images/bilhar9.png");
我想做的事情如下:
lol.getPath();
应该返回"fxml/images/bilhar9.png",我发现方法impl_getUrl()但不推荐使用.
我该怎么办?
jew*_*sea 13
您无法通过未弃用的API从映像获取映像路径,因为Java 8中不存在此类API.您可以使用已弃用的API,并在删除已弃用的API时在将来的Java版本中破坏应用程序的风险 - 这是不可取的.你可以创建一个功能请求做出的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;
不是一个很好的解决方案,但可能足以满足您的需求.
| 归档时间: | 
 | 
| 查看次数: | 8111 次 | 
| 最近记录: |