我想使用 FX8Spinner
控件,但我想将源绑定到IntegerProperty
int MIN = 0;
int MAX = 5000;
int STEP = 500;
IntegerProperty integerProperty = new SimpleIntegerProperty();
Spinner<Integer> spinner = new Spinner<>(MIN, MAX, STEP);
我了解绑定是通过绑定到valueProperty
在价值工厂。然而这期望Property<Integer>
我找不到一种方法可以在IntegerProperty
and 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创建一个与其包装的属性双向连接的属性。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)