var width = 400;
 var height = 400;

Stage {
    style: StageStyle.TRANSPARENT

    onClose: function():Void {
       System.exit(0);
    }

    scene: Scene {
        content: Scribble {}
        width: width
        height: bind height
    }
}

为什么宽度工作,但高度不是? 而且,我能做些什么来解决这个问题? NetBeans是说:

  

高度具有脚本只(默认)结合在javafx.scene.Scene访问

有帮助吗?

解决方案

好的,我计算出来:

var width : Number = 400;
var height : Number = 400;

var stage:Stage = Stage {
    width: bind width with inverse
    height: bind width with inverse
    scene: Scene {
      content: Scribble {
                 canvasWidth: bind stage.scene.width
                 canvasHeight: bind stage.scene.height
               }
    }
}

虽然,我并不真的需要在这里指定的宽度和高度,因为我可以通过级可变访问这些。现场的宽度和高度时更新舞台的宽度和高度的变化。我发现,当绑定到现场的宽度和高度,而不是对VAR的宽度和高度canvasWidth将更新好了很多(这一次调整大小完成后只更新)

其他提示

要放在这个更精确的,场景的宽度和高度被声明为“公共-INIT”。这意味着他们只能在初始化时设定。场景中的对象的文字高度绑定意味着,高度将被更新,因此错误。舞台的宽度和高度被声明为“公共”这意味着它们可以被更新。

您不应现场尺寸绑定到任何东西。这主要是因为当用户试图调整大小的包含窗口的场景尺寸不会得到更新。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top