Похоже, что изменения происходят так быстро, что обновления графика сцены не могут идти в ногу, и вы просто не видите их до последнего обновления.
Я бы предложил рефакторинг следующим образом, который дает вам немного больше контроля (вы можете обновлять частоту обновления по своему усмотрению, а также запускать и останавливать анимацию по своему усмотрению).
var rec: Rectangle = Rectangle {
x: 10, y: 10
width: 140, height: 90
fill: Color.BLACK
}
var timeline = Timeline {
repeatCount: 20
keyFrames : [
KeyFrame {
time : 100ms
canSkip : true
action: function(): Void {
rec.width = 25 + java.lang.Math.random()*50;
}
}
]
}
Stage {
title: "MyApp"
scene: Scene {
width: 200
height: 200
content: [
rec,
Button {
text: "Button"
action: function () {
timeline.playFromStart();
}
}
]
}
}