我正在使用JavaFX的幻灯片菜单,在其定义中,我一直在使用getScene()
方法来引用要添加节点的场景的高度和宽度。
问题在于幻灯片菜单是在场景定义之前定义的,并返回NullPointerException
。
我认为解决此问题的方法是使用侦听器创建一个BooleanProperty
,每当属性值更改时,就会检查它是true
还是false
,执行涉及到调用的代码行是否分别使用getScene()
方法。
我怎样才能做到这一点?我以为我可以这样说
BooleanProperty hasScene = new SimpleBooleanProperty();
hasScene.set(getScene());
hasScene.set(Boolean.valueOf(getScene()));
hasScene.set((boolean) getScene());
但无法从
Scene
强制转换为Boolean
。有任何想法吗?提前致谢。
最佳答案
hasScene.bind(sceneProperty().isNotNull());
关于java - BooleanProperty,其值取决于是否将节点添加到场景中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38154553/