DOC-03-19 进度条(Progress Bar)和进度指示器(Progress Indicator)

在本章你将学习进度指示器(Progress Indicator)和进度条(Progress bar),这两个控件用于在JavaFX应用程序中对操作的进度进行可视化。

ProgressIndicator类及其直接子类ProgressBar具有显示任务正在处理过程中并且目前处理进度是多少的功能。ProgressBar类使用带有完成度的长条来展示进度,而ProgressIndicatro则以动态变化的饼图来展示进度,如图19-1所示。

19–1 Progress Bar Progress Indicator

3-19-1 progress-typical

创建进度展示控件

使用如例19-1所示的代码片段来在你的JavaFX应用程序中插入进度展示控件。

19–1 实现Progress Bar Progress Indicator

你也可以使用不带参数的空构造方法来创建进度展示控件。在这种情况下,你可以使用setProgress方法来分配进度值。

有时候应用程序无法确定完成任务所需的时间,在这种情况下进度展示控件会保持在不确定模式(Indetermine mode),直到完成任务时长确定为止。图19-2展示了进度展示控件根据其进度变量值而处在的不同状态。

19–2 进度展示控件的不同状态

3-19-2 progress-samples

例19-2展示了产生如图19-2界面的程序源码。

19–2展示进度展示控件的不同状态

 

进度变量使用一个0到1之间的正数来表示进度的百分比。例如,0.4表示40%。如果进度变量使用负数则表示对应的进度展示控件处于不确定模式。可以使用isIndeterminate方法来检查进度展示控件是否处于不确定模式中。

在程序界面中展示进度

例19-2在程序开始时简单地设置了进度展示控件各种可能的状态。在真实情况下,进度值可以通过其它UI控件来控制。

通过例19-3中的代码来学习如何根据Slider的位置来设置Progress Bar和Progress
Indicator的值。

19–3根据Slider设置进度值

当你编译并运行此程序,它会产生如图19-3所示的窗体。

19–3 显示由Slider设置的进度值

3-19-3 progress-slider

程序中的ChangeListener用于当Slider的值发生了改变时计算出应该给Progress Bar和Progress
Indicator设置的值,确保进度展示控件的值的范围在0.0到1.0之间。

相关的API文档

    · ProgressBar

    · ProgressIndicator

  

打赏一下
支付宝
微信
除非注明,博客文章均为原创,转载请标明文章地址
本文地址: http://www.javafxchina.net/blog/2015/04/doc03_progress/
百度已收录