我正在将图像上传到我的后端并生成下载链接我想下载图像并在 javafx 中显示它我找到了这个解决方案: ImageView imageView = ImageViewBuilder.create()
.image(new Image(imageSource))
.build();但是我使用的是 JavaFx 11,我的 javafx 场景 imageView 包中似乎没有 ImageViewBuilder 这样的东西?有什么想法或替代方法吗?
1 回答
紫衣仙女
TA贡献1839条经验 获得超15个赞
构建器类不久前被弃用。有关详细信息,请参阅JDK-8124188、JDK-8092861和此邮件列表。也就是说,Image该类仍然可以加载远程图像,但您应该使用构造函数而不是构建器。
从文档(强调我的):
该类Image表示图形图像,用于从指定的URL.
支持的图像格式有:
BMP
动图
JPEG
PNG
图像可以在加载时调整大小(例如,减少图像消耗的内存量)。应用程序可以指定缩放时使用的过滤质量,以及是否保留原始图像的纵横比。
支持的所有 URLURL都可以传递给构造函数。如果传递的字符串不是有效的URL,而是路径,Image则在这种情况下在类路径上搜索 。
用于ImageView显示使用此类加载的图像。同一个Image实例可以被多个ImageViews显示。
所以你可以使用:
String remoteUrl = ...;
Image image = new Image(remoteUrl);
ImageView view = new ImageView(image);
// or...
ImageView view = new ImageView(remoteUrl);
第二个选项利用了ImageView(String)构造函数。请注意,它阻止您在后台加载图像(没有自定义代码),构造函数Image提供了一个选项。如果你想控制你自己的InputStream,你也可以使用 ; 的适当构造函数来做到这一点Image。InputStream在这种情况下不要忘记关闭。
添加回答
举报
0/150
提交
取消