lip*_*inf 7 java image relative-path javafx-8
我想获取我的Image对象中加载的当前Image的路径名.
我有以下代码:
Image lol = new Image("fxml/images/bilhar9.png");
Run Code Online (Sandbox Code Playgroud)
我想做的事情如下:
lol.getPath();
Run Code Online (Sandbox Code Playgroud)
应该返回"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;
}
}
Run Code Online (Sandbox Code Playgroud)
像这样创建你的图像:
Image image = new LocatedImage("fxml/images/bilhar9.png");
Run Code Online (Sandbox Code Playgroud)
然后你可以通过以下方式访问网址:
String url = image instanceof LocatedImage
? ((LocatedImage) image).getURL()
: null;
Run Code Online (Sandbox Code Playgroud)
不是一个很好的解决方案,但可能足以满足您的需求.
| 归档时间: |
|
| 查看次数: |
8111 次 |
| 最近记录: |