如何使 JavaFX Slider 以离散的步骤移动? [英] How to make JavaFX Slider to move in discrete steps?

查看:39
本文介绍了如何使 JavaFX Slider 以离散的步骤移动?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 JavaFx 制作一个 GUI,我需要只允许选择 integers 的滑块.

I am making a GUI using JavaFx and I need sliders that only allow integers to ever be selected.

我知道我可以使用 snapToTicks,但在拉出 "knob" 时,它仍然可以表示 非整数 值.我想摆脱它.它会弄乱与之链接的其他组件.

I know I can use snapToTicks, but while pulling the "knob", it can still represent a non-integer value. I would like to get rid of that. It messes up other components linked to it.

基本上,我想要 Swing 的 JSlider 之类的东西,但要使用 JavaFx.是否可以?我一直在寻找,但找不到任何东西.

Basically, I want something like Swing's JSlider, but with JavaFx. Is it possible? I have been searching but I can't find anything.

推荐答案

你可以简单地添加一个监听器到 valuePropertySlider 然后你可以设置 的整数值编号值:

You can simply add a listener to the valueProperty of the Slider and then you can either set the integer value of the new Number value:

slider.valueProperty().addListener((obs, oldval, newVal) -> 
    slider.setValue(newVal.intValue()));

或者您可以使用整数舍入 Math.round:

or alternatively you can use integer rounding using Math.round:

slider.valueProperty().addListener((obs, oldval, newVal) ->
    slider.setValue(Math.round(newVal.doubleValue())));

这篇关于如何使 JavaFX Slider 以离散的步骤移动?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆