【发布时间】:2012-01-18 09:50:19
【问题描述】:
我必须实现一个进度条来显示报告生成的进度,问题是我必须根据生成的事件表示报告进度的百分比,但首先不知道事件的总量,所以例如,报告生成发送以下事件(阶段):
- Starting Report generation
- Start Query execution
- End Query execution
- Start Report Rendering
- End Report Rendering
- End Report Generation
在这个例子中,总共有 3 个任务和 6 个事件,我不知道任务的总数,但我知道事件的总数是任务数的两倍。
我不知道存在哪些事件以及它们有多少,但我必须用进度条来表示进度,所以用一个介于 0 和 100 之间的数字。
如何计算?代表进展的最佳方式是什么?
【问题讨论】:
-
所以你基本上什么都不知道,想得到进度百分比。你真的了解进度条的使用吗?这意味着您已经知道一些事情
-
也许用一些数学公式可以表示进度,我知道这并不简单,但如果这很简单,我就不会在 StackOverflow 上问了...... :)
-
你不能。如果你有 10 个事件呢?如果你有 12 个事件呢?要使用进度条,您需要一个确定的数字,而不是任意数字。
-
请记住,我不想要进展的确切值,而只想要一个近似值,如启发式确定......
-
如果您的事件不超过 50 个,则将最大值设置为 50,并且对于每个完成的事件,进度将为 numberEventsDone/50。但是你最后的事件会填满进度条的大部分。尽管如此,它仍然提供了一个关于进步的想法
标签: java math progress jprogressbar