小编Sta*_*low的帖子

条件绑定无法按预期工作

看看Layout-> initPanelSizeBinding()。问题then()正在执行,即使panelProperty.get()null。难道我做错了什么?

您可以自己尝试一下,下面是完整的可重现示例。(在 OpenJFX 15 上测试)

可重现的示例 -单击此处(pastebin)

或者看看下面:

代码:

主程序

public class Main {
 
    public static void main(String[] args) {
        Layout layout = new Layout();
        /*
        WARNING: Exception while evaluating binding
        java.lang.NullPointerException: Cannot invoke "Panel.getWidth()" because the return value of "javafx.beans.property.ObjectProperty.get()" is null
            at Layout.lambda$initPanelSizeBinding$0(Layout.java:20)
            at javafx.beans.binding.Bindings$6.computeValue(Bindings.java:358)
            at javafx.beans.binding.ObjectBinding.get(ObjectBinding.java:157)
            at javafx.beans.binding.ObjectExpression.getValue(ObjectExpression.java:49)
            at com.sun.javafx.binding.ExpressionHelper.addListener(ExpressionHelper.java:53)
            at javafx.beans.binding.ObjectBinding.addListener(ObjectBinding.java:77)
            at javafx.beans.binding.When$ObjectCondition.<init>(When.java:757)
            at javafx.beans.binding.When$ObjectConditionBuilder.otherwise(When.java:854)
            at Layout.initPanelSizeBinding(Layout.java:24)
            at Layout.<init>(Layout.java:12)
            at Main.main(Main.java:4)
         */
    }
 
}
Run Code Online (Sandbox Code Playgroud)

布局.java …

java javafx

2
推荐指数
1
解决办法
158
查看次数

标签 统计

java ×1

javafx ×1