JavaFX 2.2:如何将SimpleBooleanProperty值设置为null?

Lun*_*orn 2 java javafx-2

如果我这样做:

BooleanProperty b = new SimpleBooleanProperty();
b.setValue(null);
System.out.println(b.getValue());
Run Code Online (Sandbox Code Playgroud)

我收到输出:

false
Run Code Online (Sandbox Code Playgroud)

如何设置SimpleBooleanPropertynull?设置SimpleBooleanPropertynull(BooleanProperty b = null;)是个坏主意,因为我会使用绑定.

我创立了这样的方式:

ObjectProperty<Boolean> b = new SimpleObjectProperty<Boolean>(null);
System.out.println(b.getValue());
Run Code Online (Sandbox Code Playgroud)

工作良好.

我不能回答我的问题,所以我把它放在这里,对不起.

ass*_*ias 6

SimpleBooleanPropertyboolean(原始)的包装器- 空值自动设置为默认(false)值.

如果要允许null值,可以使用ObjectProperty<Boolean> b = new SimpleObjectProperty<> ();.缺点是您丢失了默认的布尔绑定.

或者,您可以创建一个覆盖现有setValue实现的自定义类,但这可能有点复杂,因为它依赖于set(boolean)显然无法接受的方法null...