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说:
height在javafx.scene.Scene中只有脚本(默认)绑定访问
答案 0 :(得分:2)
好的,我明白了:
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
}
}
}
虽然,我不需要在这里指定宽度和高度,因为我可以通过stage变量访问它们。当舞台宽度和高度发生变化时,场景宽度和高度会更新。我发现canvasWidth在绑定到场景宽度和高度时会更新得更好,而不是var宽度和高度(只有在调整大小完成后才会更新)
答案 1 :(得分:1)
为了更加精确,场景的宽度和高度被声明为“public-init”。这意味着它们只能在初始化时设置。 “场景对象”文字中的高度绑定意味着将更新高度,从而导致错误。舞台的宽度和高度被声明为“公共”,这意味着它们可以更新。
答案 2 :(得分:0)
您不应将场景尺寸绑定到任何东西。主要是因为当用户尝试调整包含窗口的大小时,场景维度不会更新。