Hallo Leute!
Ich schreibe ein Programm, in dem ich bestimmte Daten auslese und live auf einem javafx.scene.chart.XYChart als einen javafx.scene.chart.LineChart darstelle. Dabei werden mehrere linecharts gleichzeitig dargestellt und in periodischen abständen aktuallisiert.
Das Problem an der Sache ist, dass wenn ich zu einem der vielen Linecharts (this.chart im Quellcode unten) einen neuen Wert hinzufüge:
der gesamte XYChart aktuallisiert (neu gezeichnet) wird, was völlig sinnlos ist, da er für den nächsten chart sowieso ein weiteres mal gezeichnet werden muss.
Mein Ziel ist es also, pro Datenauslese-Zeitperiode den oberen code für alle chart-objekte ausführen und alle diese graphen (linecharts) erst nach dem letzten aktualisierten linecharts neu zeichnen zu lassen.
Kann man also diese Autozeichen-Funktion irgendwie abstellen und per Funktionsaufruf nur manuell neu zeichnen lassen? Ich werde in der doku nicht fündig.
Ich schreibe ein Programm, in dem ich bestimmte Daten auslese und live auf einem javafx.scene.chart.XYChart als einen javafx.scene.chart.LineChart darstelle. Dabei werden mehrere linecharts gleichzeitig dargestellt und in periodischen abständen aktuallisiert.
Das Problem an der Sache ist, dass wenn ich zu einem der vielen Linecharts (this.chart im Quellcode unten) einen neuen Wert hinzufüge:
Code:
void update_chart(){
this.chart.getData().add(
new XYChart.Data(
<x-wert> ,
<y-wert>
));
}
...
for( int i = 0; ... ) {
<chartobjekt mit index i>.update_chart();
}
der gesamte XYChart aktuallisiert (neu gezeichnet) wird, was völlig sinnlos ist, da er für den nächsten chart sowieso ein weiteres mal gezeichnet werden muss.
Mein Ziel ist es also, pro Datenauslese-Zeitperiode den oberen code für alle chart-objekte ausführen und alle diese graphen (linecharts) erst nach dem letzten aktualisierten linecharts neu zeichnen zu lassen.
Kann man also diese Autozeichen-Funktion irgendwie abstellen und per Funktionsaufruf nur manuell neu zeichnen lassen? Ich werde in der doku nicht fündig.
Zuletzt bearbeitet: