![](/img/trans.png)
[英]How to bind ObjectProperty<LocalDate> to StringProperty in JavaFX?
[英]How to bind StringProperty to ObjectProperty<Integer> in JavaFX?
我发现只有解决方案如何将StringProperty绑定到IntegerProperty,如下所示:
StringProperty.bindBidirectional(IntegerProperty, new NumberStringConverter());
但我还需要null
值。 如何将StringProperty to ObjectProperty<Integer>
绑定StringProperty to ObjectProperty<Integer>
?
默认IntegerStringConverter
理解空值:
ObjectProperty<Integer> objP = new SimpleObjectProperty<>();
stringProp.bindBidirectional(objP, new IntegerStringConverter());
objP.setValue(null); // stringProp == ""
stringProp.setValue(""); // objP == null
如果您想要不同的行为,您可以制作自己的转换器:
ObjectProperty<Integer> objP = new SimpleObjectProperty<>();
stringProperty.bindBidirectional(objP, new StringConverter<Integer>() {
@Override
public String toString(Integer number) {
return number == null ? "NULL" : number.toString();
}
@Override
public Integer fromString(String string) {
return string.equals("NULL") ? null : Integer.valueOf(string);
}
});
// both works:
objP.setValue(null);
objP.setValue(100);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.