我一直在到处寻找,但似乎你不能让 jprogress 条显示十进制值。我的问题是我有一个程序可以处理非常大的数据集,需要很长时间才能处理。
例如,我正在处理一个包含超过 200k 个文件的目录。处理 2000 个文件并将其输入数据库平均需要 4 分钟左右,即 1%。我试图向用户提供一个直观的指示器,了解在数据库中读取和摄取数据方面取得了多少进展。
我的进度条花了 4 分钟才显示 1%,这让我假设我的用户可能认为我的程序在某处挂起或损坏。
我知道 JProgess Bar 只接受整数值。还有其他可以用来显示进度和表示十进制值的东西吗?
如果我的进度条可以显示 0.01%,这比在 0% 处停留 4 分钟要好。
如果没有办法做到这一点,我是否应该将最大值设置为文件数,而不以百分比显示进度?
最佳答案
答案是:否。根据文档http://docs.oracle.com/javase/7/docs/api/javax/swing/JProgressBar.html setValue 方法仅接受 int:
setValue(int n) - Sets the progress bar's current value to n.
您可以: 1.) 正如您所说 - 将最大值设置为您必须处理的文档数量。
2.) 使用:
setString(String s) - Sets the value of the progress string.
并将其用作完成百分比的指标。
3.) 扩展类(?)。
希望有帮助。
关于java - 如何让 Java 进度条显示小数值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21758794/