将DoubleBinding值转换为IntegerBinding

时间:2015-06-12 12:30:05

标签: binding javafx double javafx-8

我有以下问题。 我想将一个带有DoubleBinding的String连接到一个String属性。

Slider slider = new Slider(1, 5000, 500);
Label sliderValue = new Label();
sliderValue.textProperty().bind(Bindings.concat("Sleep: ", slider.valueProperty()));

这很好。

但是我不想将Double Binding显示为Double,我想将它舍入为int。

正如您在屏幕截图中看到的那样,Number被添加为Double to String。

有没有办法做到这一点,没有创建一个监听器?

如果我的英语不正确的话。 :P

2 个答案:

答案 0 :(得分:1)

您可以将double投射到int

sliderValue.textProperty().bind( Bindings.concat( "Sleep: ", 
   Bindings.createIntegerBinding( () -> (int) slider.valueProperty().get(), slider.valueProperty()) ) );

答案 1 :(得分:1)

您可以改为使用Bindings.format

pyside-uic x.ui -o x.py