你好Stackoverflowers,我会很简短,所以我的问题是:我的图像下载时如何在我的应用程序中显示进度条?我做了一些研究,我发现了一些关于“preloader”和“splach-screen”的内容,但我们可以在开始我的主应用程序之前使用这些,并且关于进度条,我知道我必须绑定它,但是怎么能我把它绑在我的形象上?我感谢任何帮助 .
这是我创建简单幻灯片的代码:
@PostConstruct
public void init()
{
All_photos photos = (All_photos) new parse_object <All_photos> (All_photos.class).ParseUri("https://api.edmunds.com/api/media/v2/styles/"+id+"/photos?api_key=wdxg7wh338vac3359m34qjj6&fmt=json");
Images = new ArrayList<Image>();
ArrayList<String> list_href = new SlideShowHelper().get_href(photos);
for ( String st:list_href)
{
System.out.println(st);
Images.add(new Image("https://media.ed.edmunds-media.com"+st+""));
}
}
只是要知道,该图像需要一段时间才能下载,这取决于互联网连接速度 .
2 回答
这个答案回答你的问题 Headers :“在javafx下载图像时进度条” .
你的问题中的代码有点不清楚,所以答案可能会也可能不会回答你真正希望实现的目标 .
在background中加载图像 .
将ProgressBar的progress属性绑定到图像的progessProperty .
注意:对于示例代码和图像,图像加载速度非常快,因此您实际上看不到进度条的移动 . 对于正在加载的非常大的图像和非常慢的Internet连接,您可能会看到进度条随着加载的进行而移动 .
更新其他问题
使用DoubleExpression,它映射到所有图像的背景加载进度的平均值 .
上面的解决方案没有考虑到error conditions for images that fail to load,但我会给你添加这样的逻辑(主要是监视错误属性并调整加载进度的平均计算,使其不包括那些无法加载的图像) .
谢谢你们的帮助,我找到了答案:
它工作,但是?好吗 ?