J'essaie de créer un graphique animé qui se développe vers la droite lorsque de nouvelles données sont ajoutées. J'utilise un chemin pour tracer les variables (JavaFX LineChart semble trop lent), essayant de tracer une nouvelle variable toutes les 500ms en ajoutant une nouvelle LineTo à l'ensemble des éléments de chemin. J'ai réduit le problème à l'exemple de code suivant. Quelqu'un pourrait-experts JavaFX me dire pourquoi cela ne se traduit pas par une ligne qui pousse vers le bas et vers la droite comme le temps passe ?:JavaFX: Ajout de la ligne au chemin en tant qu'animation
var newX = 10;
var lineElements: PathElement[];
Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame {
time: 500ms
canSkip: false
action: function() {
newX = newX + 10;
insert [LineTo {x: newX, y: 100}] into lineElements;
}
}
]
}.play();
Stage {
title: "Application title"
scene: Scene {
width: 250
height: 80
content: [
Path {
fill: null
stroke: Color.RED
strokeWidth: 2
elements: bind lineElements = [
MoveTo {
x: 0
y: 100
}
]
}
]
}
}
Merci un bouquet.
Merci pour votre réponse Honza. Je devais utiliser 'absolute: false' au lieu de 'relative: true', mais c'est un truc cool que je ne connaissais pas. En combinaison avec l'initialisation de variable plus rationnelle que vous avez suggérée qui a certainement fait l'affaire! – peteroyle
J'ai aussi dû ajouter des propriétés width/height à la scène pour que l'exemple soit affiché. –