2011-07-05 7 views
2

こんにちは私はJProgressBarをintの代わりにmin maxのdouble値を使用して拡張できるかどうかを知りたいと思います。 ありがとうございます。JProgressBar double値

+2

私はそれを拡張しませんが、それをラップします。 – Mot

答えて

4

もちろん可能ですが、どのような目的に使用できますか?あなたはどのようにして半分の割合を表示しますか?

さらに正確な値を表示するには、setString()メソッドを使用することができます。 setStringPainted()の方法を使用して文字列を印刷する必要があります。

+0

進行状況バーの幅が400ピクセルの場合、半分の割合で2つのピクセルが表示されます。それはあなたがより多くの情報を持っているとききめ細かな解決を与えます。 – Kieveli

+0

@Kieveli私はあなたの意見を見るが、これは正常な整数でも機能する。プログレスバーを最も細かくしたい場合は、可能な限り最高値に設定します。できるだけ細かく描いてくれるのがバーです。 –

+0

私は0-100の代わりに0-10000のバーを設定するという点を逃していたと思います。効果的には、0〜10000の範囲でレンダリングの精度を2桁の小数点以下の桁数にすることができます。 – Kieveli

6

値の境界と精度がわかっている場合は、ラッパーを使用するのが簡単です。私はこのアプローチを、1%が約30秒に相当する計算集約型アプリケーションに使用しました。 JProgressBarmin=0max=100を表示しても、十分なフィードバックは得られませんでした。ユーザーは、アプリケーションがハングアップしていると考えました。

ソリューション:私はフロート(0F - 1F)持っていた値に

をスケール完全な実際のパーセントを表します。 これを10000倍すると、0〜10000の整数範囲が得られます。私は、min = 0、max = 10000のJPBを設定します。

setString(NumberFormat.getPercentInstance().format(value))を呼び出すと、フォーマットされたパーセント値が表示されます。

+0

あんしん!!! – Kieveli