BooleanProperty,其值取决于是否将节点添加到场景
BooleanProperty whose value depends on if a node is added to a Scene
我正在为 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());
我正在为 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());