Java 布尔属性,其值取决于是否将节点添加到场景

Java 布尔属性,其值取决于是否将节点添加到场景,java,javafx,nullpointerexception,boolean,scene,Java,Javafx,Nullpointerexception,Boolean,Scene,我正在为JavaFX制作一个幻灯片菜单,在它的定义中,我经常使用getScene()方法来引用添加节点的场景的高度和宽度 问题在于,幻灯片菜单是在场景之前定义的,返回一个NullPointerException 我认为解决这个问题的方法是创建一个BooleanProperty,使用侦听器,每次属性值更改时,都会检查它是true还是false,分别执行涉及调用getScene()方法的代码行 我怎样才能做到这一点?我想我可以这样说 BooleanProperty hasScene = new Si

我正在为JavaFX制作一个幻灯片菜单,在它的定义中,我经常使用
getScene()
方法来引用添加节点的场景的高度和宽度

问题在于,幻灯片菜单是在场景之前定义的,返回一个
NullPointerException

我认为解决这个问题的方法是创建一个
BooleanProperty
,使用侦听器,每次属性值更改时,都会检查它是
true
还是
false
,分别执行涉及调用
getScene()
方法的代码行

我怎样才能做到这一点?我想我可以这样说

BooleanProperty hasScene = new SimpleBooleanProperty();
hasScene.set(getScene());
hasScene.set(Boolean.valueOf(getScene()));
hasScene.set((boolean) getScene());
但是不可能从
场景
转换为
布尔值

有什么想法吗?提前谢谢

hasScene.bind(sceneProperty().isNotNull());