Jac*_*k H 4 java floating-point swing awt jslider
我刚刚意识到JSlider无法处理浮点数.任何人都可以推荐一款Swing/AWT替代品吗?
编辑:或一些描述的解决方法.
滑块通常涉及数字范围.从实际实现来看,每个滑块必须有两个元素:
正是"有限数字"给你带来了麻烦.没有有限数量的增量,滑块无法适合屏幕.使用有限数量的增量,不可能选择float位于两个增量"步骤"之间的数字.
简而言之,这是不可能的; 所以,这是解决方法:
0.0f对10.0f也好,都不要紧,但你必须有一个范围.0.1f或者0.001f不管怎样,没关系,但你必须有一个增量.举例来说,对于5.0f以10.0f与0.1f增量:
((10.0f - 5.0f) / 0.1f) + 1 = 51 increments (0 to 50)
updateSlider(float value) {
if (value > 10.0f) {
Slider.setValue(50);
} else if (value < 5.0f) {
Slider.setValue(0);
} else {
Slider.setValue((int)Math.round((value - 5.0f)/0.1f));
}
}
float updateFloat(Slider slider) {
int value = slider.getValue();
return 5.0f + (slider.getValue() * 0.1f);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1865 次 |
| 最近记录: |