下载链接中的Javafx图像
我正在将图像上载到后端并生成下载链接我想下载图像并在javafx中显示它我找到了以下解决方案:下载链接中的Javafx图像,java,javafx,Java,Javafx,我正在将图像上载到后端并生成下载链接我想下载图像并在javafx中显示它我找到了以下解决方案: ImageView imageView = ImageViewBuilder.create() .image(new Image(imageSource)) .build(); 但我使用的是JavaFX11,在我的JavaFx场景imageView包中似乎没有ImageViewBuilder这样的东西?有什么想法或替代方法吗?构建器类不久前就被
ImageView imageView = ImageViewBuilder.create()
.image(new Image(imageSource))
.build();
但我使用的是JavaFX11,在我的JavaFx场景imageView包中似乎没有ImageViewBuilder这样的东西?有什么想法或替代方法吗?构建器类不久前就被弃用了。有关更多信息,请参阅和。这就是说,
Image
类仍然可以加载远程图像,但是您应该使用构造函数而不是构建器
从(强调我的):
Image
类表示图形图像,用于从指定的URL
加载图像
支持的图像格式包括:
- 骨形态发生蛋白
- GIF
- JPEG
- 巴布亚新几内亚
URL
,而是路径,则在这种情况下会在类路径上搜索图像
用于显示加载了此类的图像。相同的图像
实例可以通过多个ImageView
s显示
因此,您可以使用:
String remoteUrl = ...;
Image image = new Image(remoteUrl);
ImageView view = new ImageView(image);
// or...
ImageView view = new ImageView(remoteUrl);
第二个选项利用ImageView(String)
构造函数。请注意,它阻止您在后台加载图像(没有自定义代码),而image
的构造函数为其提供了一个选项。如果您想控制自己的InputStream
,您也可以使用Image
的适当构造函数来实现这一点;在这种情况下,不要忘记关闭InputStream
。构建器类不久前就被弃用了。有关更多信息,请参阅和。这就是说,Image
类仍然可以加载远程图像,但是您应该使用构造函数而不是构建器
从(强调我的):
Image
类表示图形图像,用于从指定的URL
加载图像
支持的图像格式包括:
- 骨形态发生蛋白
- GIF
- JPEG
- 巴布亚新几内亚
图像可以在加载时调整大小(例如,减少图像所消耗的内存量)。应用程序可以指定缩放时使用的过滤质量,以及是否保留原始图像的纵横比
可以将支持的所有URL传递给构造函数。如果传递的字符串不是有效的URL
,而是路径,则在这种情况下会在类路径上搜索图像
用于显示加载了此类的图像。相同的图像
实例可以通过多个ImageView
s显示
因此,您可以使用:
String remoteUrl = ...;
Image image = new Image(remoteUrl);
ImageView view = new ImageView(image);
// or...
ImageView view = new ImageView(remoteUrl);
第二个选项利用ImageView(String)
构造函数。请注意,它阻止您在后台加载图像(没有自定义代码),而image
的构造函数为其提供了一个选项。如果您想控制自己的InputStream
,您也可以使用Image
的适当构造函数来实现这一点;在这种情况下,不要忘记关闭InputStream
。构建器已经被弃用了一段时间。您应该只使用ImageView
和Image
@Slaw的构造函数。我认为ImageViewBuilder首先下载文件,然后用它创建一个图像。使用BufferedInputStream(新URL('http:/image.png').openStream())也是如此;创建图像之前先下载文件的正确方法是什么?请注意,ImageViewBuilder
只需使用创建一个ImageView
。您可以使用构造函数有效地完成同样的事情(参见我的答案)。您应该只使用ImageView
和Image
@Slaw的构造函数。我认为ImageViewBuilder首先下载文件,然后用它创建一个图像。使用BufferedInputStream(新URL('http:/image.png').openStream())也是如此;创建图像之前先下载文件的正确方法是什么?请注意,ImageViewBuilder
只需使用创建一个ImageView
。您可以使用构造函数有效地完成同样的事情(参见我的答案)。