java - BooleanProperty,其值取决于节点是否添加到场景中

标签 java javafx nullpointerexception boolean scene

我正在为 JavaFX 开发一个幻灯片菜单,在它的定义中,我不断地使用 getScene() 方法来引用节点所在场景的高度和宽度已添加。

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

我认为解决此问题的方法是创建一个带有监听器的 BooleanProperty ,每次属性值发生变化时,都会检查它是否为 truefalse,分别执行是否涉及调用 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/

相关文章:

java - 扫描仪类别错误

JavaFx TableView 错误

Javafx数据库PlatformFactory.getPlatform()

javafx - 使用 COMPUTED_SIZE 时 GridPane 会截断 Label

java - 使用 ConcurrentHashMap 避免空指针异常

java - Android:无法使用 .getStringExtra 获取值

java - Bukkit - 使用 VaultAPI 的 NPE(聊天)

java - 找不到参数的方法实现()[org.jetbrains.kotlin :kotlin-stdlib-jdk7:1. 3.50]

java - 使用Java读取远程MP3文件的ID3标签

java - Java 中是否存在有界非阻塞 Collection?