【问题标题】:BooleanProperty whose value depends on if a node is added to a SceneBooleanProperty,其值取决于是否将节点添加到场景
【发布时间】:2016-11-04 09:43:48
【问题描述】:

我正在为 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

有什么想法吗?提前致谢。

【问题讨论】:

    标签: java javafx nullpointerexception boolean scene


    【解决方案1】:
    hasScene.bind(sceneProperty().isNotNull());
    

    【讨论】:

      猜你喜欢
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多