Javafx 1 : 바인드 및 VAR 액세스 수정 자
-
05-09-2019 - |
문제
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가 훨씬 더 잘 업데이트 될 것임을 발견했습니다 (크기 조정이 완료되면 업데이트).
다른 팁
이에 더 정확하기 위해, 장면의 너비와 높이는 "public-init"로 선언됩니다. 이는 초기화 시간에만 설정할 수 있음을 의미합니다. 장면 객체 문자의 높이에 바인드는 높이가 업데이트되므로 오류가 발생 함을 의미합니다. 무대의 너비와 높이는 "공개"로 선언되어 업데이트 될 수 있습니다.
장면 치수를 무엇이든 바인딩해서는 안됩니다. 대부분은 사용자가 포함 된 창 크기를 조정하려고 할 때 장면 치수가 업데이트되지 않기 때문입니다.
제휴하지 않습니다 StackOverflow