Javafx图片来自下载链接

时间:2019-02-25 15:38:31

标签: java javafx

我正在将图像上传到后端并生成下载链接,我想下​​载图像并将其显示在javafx中,我找到了此解决方案:

    ImageView imageView = ImageViewBuilder.create()
            .image(new Image(imageSource))
            .build();

但是我正在使用JavaFx 11,并且javafx场景imageView包中似乎没有像ImageViewBuilder这样的东西?有什么想法或替代方法吗?

1 个答案:

答案 0 :(得分:2)

构建器类在不久前已被弃用。有关更多信息,请参见JDK-8124188JDK-8092861this mailing list。也就是说,Image类仍然可以加载远程图像,但是您应该使用构造函数而不是构造函数。

来自documentation强调我的):

  

Image类表示图形图像,用于从指定的URL加载图像。

     

支持的图像格式为:

     
      
  • BMP
  •   
  • GIF
  •   
  • JPEG
  •   
  • PNG
  •   
     

可以在加载图像时调整图像的大小(例如,以减少图像消耗的内存量)。该应用程序可以指定缩放时使用的过滤质量,以及是否保留原始图像的宽高比。

     

URL支持的所有URL都可以传递给构造函数。如果传递的字符串不是有效的URL,而是路径,则{{1}在这种情况下,将在类路径上搜索}。

     

使用ImageView显示此类加载的图像。同一Image实例可以由多个Image显示。

因此您可以使用:

ImageView

第二个选项利用了String remoteUrl = ...; Image image = new Image(remoteUrl); ImageView view = new ImageView(image); // or... ImageView view = new ImageView(remoteUrl); 构造函数。请注意,它使您无法在后台加载图像(无自定义代码),ImageView(String)的构造函数为其提供了选择。如果您想控制自己的Image,也可以使用适当的InputStream构造函数来实现。在这种情况下,请不要忘记关闭Image