如何添加progressbar
来显示当前过程完成将花费多少时间?
我确实知道如何以简单的方式构造和使用progressbar
,但是我不知道如何将它们与进程绑定。
例如,当我单击一个按钮时,我想打开一个jfilechooser,这可能需要一些时间。我希望用户知道该应用程序没有崩溃,并给出了直到出现jfilechooser之前需要花费多长时间的想法。
提前致谢
最佳答案
问题是,在处理您未编写的类时,将进度栏与实际进度链接起来并不是那么容易。
如果您想将其与某些任务的进度绑定,请执行以下步骤:
为耗时的任务分配线程
将父类中的静态字段用作您在任务中完成的进度。 (可能是1到100的计数器)
在每个特定时间段(1秒)内,您都要检查该静态字段并设置进度栏。
在您的任务中,您将漫长的过程分为固定的步骤(即打开文件,处理,准备提取的数据等)。
完成每个固定步骤后,请使用到目前为止的进度更新父类中的静态字段。
确保使用信号量来规范写入和读取静态字段的过程。