软件开发

当前位置:首页 > 软件开发

《Java核心技术高级特性》(第六章)(续)

6.5进度指示器

在随后的几节中,我们将讨论三个类,用于指示耗时较长活动的进度。JProgressBar是一个用于指示进度的Swing构件; ProgresMonitor 是一- 个包含进度条的对话框;在读取流的时候,ProgressMoni tor InputStream用于显示进度监视器对话框。

6.5.1进度条

进度条只不过是-一个矩形构件,它被部分地填充了颜色以指示-一个操作的进度。默认情况下,进度是用字符串“n%"来指示的。在图6-41 右下方,你可以看到一个进度条。

通过提供最大值和最小值以及- -个可供选择的定位方向,就可以像构建-一个滑动条那样构建- -个进度条:

progressar = new ProgressBar(0, 100);
proressBar = new ProressSrngnsnants,VETCAL, 0, 100);

新梦想IT职业教育

也可以使用setMinimum和setMaxi mum方法来设置最大值和最小值。

和滑动条不同的是,进度条不能让用户自行调节。你的程序必须调用setvalue才能对它进行更新。

如果调用

progressBar.setStringPainted(true);

那么进度条会计算出某项操作完成的百分比,然后以一个“n%"形式的字符串将它显示出来。

如果你想以不同形式的字符串将它显示出来,可以用setString方法提供该字符串:

if (progressBar.getValueO > 900)
progressar.setString(C"Almost Done");

程序清单6-26展示了一个进度条,用于监视-个耗时的模拟活动。

Simu1 atedActivity类将值current每秒钟增加10倍。每当它达到目标值的时候,该任务就结束。我们使用Sswi ngWorker类实现了这项任务并在process方法中更新了进度条,而SwingWorker是在事件分发线程中调用方法的,这样它就可以安全地更新进度条了。(有关Swing中线程安全的更多信息请参见第I卷第14章。)

JavaSE1.4增加了对不确定进度条的支持,这种进度条能够以动画显示某种类型的进度,而不具体显示完成情况的百分比。可以在你的浏览器中看到这种类型的进度条,它指示浏览器正在等待服务器,但是无法知道到底可能要等待多久。如果要以动画显示“不确定等待”请调用set Indeterminate方法。

程序清单6-26显示了这个程序的完整代码。

新梦想IT职业教育

新梦想IT职业教育

新梦想IT职业教育

新梦想IT职业教育

新梦想IT职业教育


相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~