Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带双值的JProgressBar_Java_Swing_Jprogressbar - Fatal编程技术网

Java 带双值的JProgressBar

Java 带双值的JProgressBar,java,swing,jprogressbar,Java,Swing,Jprogressbar,您好,我想知道我是否可以扩展一个JProgressBar来使用minmax的双精度值,而不是int。 谢谢。当然可以,但目的是什么?如何显示半个百分点 但是,您可以使用-method来显示更精确的值。打印字符串必须使用-方法打开。如果您知道值的边界和精度,使用包装器很容易。我将这种方法用于计算密集型应用程序,其中1%相当于大约30秒。显示带有min=0和max=100的JProgressBar没有提供足够的反馈。用户认为应用程序已挂起 解决方案:缩放值 我有一个浮点数(0f-1f),代表实际完成

您好,我想知道我是否可以扩展一个
JProgressBar
来使用minmax的双精度值,而不是int。
谢谢。

当然可以,但目的是什么?如何显示半个百分点


但是,您可以使用-method来显示更精确的值。打印字符串必须使用-方法打开。

如果您知道值的边界和精度,使用包装器很容易。我将这种方法用于计算密集型应用程序,其中1%相当于大约30秒。显示带有
min=0
max=100
JProgressBar
没有提供足够的反馈。用户认为应用程序已挂起

解决方案:缩放值

我有一个浮点数(0f-1f),代表实际完成的百分比。 乘以10000,我得到了一个0-10000的整数范围。我设置JPB的最小值为0,最大值为10000


然后只需调用
setString(NumberFormat.getPercentInstance().format(value))
即可显示格式化的百分比。

我不会扩展它,而是将其包装。如果进度条宽400像素,则将半个百分比显示为两个像素。当你有更多的信息时,它会提供细粒度的解析。@Kieveli我明白你的意思,但这也适用于普通整数。如果希望progressbar是最细粒度的,可以将最大值设置为可能的最高值。这条线将尽可能地处理绘图问题。我相信我错过了将这条线设置为0-10000而不是0-100的要点。实际上,0-10000为您提供了两位小数点后的潜在渲染精度-假设您有一个疯狂的宽像素计数。