gpt4 book ai didi

java - Spinner 绑定(bind)到 IntegerProperty

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:12:42 24 4
gpt4 key购买 nike

我想使用 FX8 Spinner控件,但我想将源绑定(bind)到 IntegerProperty

int MIN = 0;
int MAX = 5000;
int STEP = 500;
IntegerProperty integerProperty = new SimpleIntegerProperty();

Spinner<Integer> spinner = new Spinner<>(MIN, MAX, STEP);

我知道绑定(bind)是通过绑定(bind)到 valueProperty 来设置的在值(value)工厂。然而,这需要 Property<Integer>我找不到在 IntegerProperty 之间转换的方法和 Property<Integer> .

显然下面会产生一个编译器错误:

spinner.getValueFactory().valueProperty().bindBidirectional(integerProperty);

我是否需要为两个方向手动分配一个更改监听器?使用 valueProperty 肯定有一个更简洁的解决方案,这不可能是不可预见的情况。

最佳答案

您可以包装一个 ObjectProperty:

ObjectProperty<Integer> objectProp = new SimpleObjectProperty<>(MIN);
IntegerProperty integerProperty = IntegerProperty.integerProperty(objectProp);

Spinner<Integer> spinner = new Spinner<>(MIN, MAX, STEP);

spinner.getValueFactory().valueProperty().bindBidirectional(objectProp);

IntegerProperty.integerProperty创建一个双向连接到它包装的属性的属性。

关于java - Spinner<Integer> 绑定(bind)到 IntegerProperty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35835939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com