2014-02-13 45 views
1

我一直在尋找無處不在,你可以讓j進度條顯示十進制值。我的問題是我有一個程序可以處理非常大的數據集,需要時間來處理。如何獲取顯示十進制值的Java進度條?

例如,我正在處理一個包含超過200k文件的目錄。處理和輸入2000個文件到1%的數據庫平均需要大約4分鐘的時間。我試圖給用戶一個視覺指標,說明在讀取數據到數據庫中取得了多大進展。

以4分鐘爲我的進度條顯示1%會導致我認爲我的用戶可能認爲我的程序被掛斷或某處出現故障。

我知道JProgess酒吧只接受整數值。還有什麼可以用來顯示進度和表示十進制值。

如果我的進度條可以顯示.01%,比坐在0%4分鐘更好。

如果沒有辦法做到這一點,我應該將我的最大值設置爲文件數量,而不是以百分比顯示我的進度?

+0

這[問題](http://stackoverflow.com/q/6579789/994125)可能會幫助你。 – Laf

+2

爲什麼不只是改變比例?乘以100 –

+0

如果你乘以100,那麼你仍然有0 – FazoM

回答

1

答案是:。根據文檔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.)擴展類(?)。

希望有所幫助。

+0

不是我真正希望的解決方案,但我只是調整了最大值。 – Jeremy