在for循环中将时间轴关键帧与JavaFX一起使用

问题描述 投票:0回答:1

我将如何创建时间轴关键帧,以便将图表的每次添加都添加到新的关键帧中,以便它们一次出现一个?

  Timeline timeline = new Timeline();
  ArrayList<XYChart.Series> lineSeries2 = new ArrayList<XYChart.Series>();
  for (int s = 0; s<(pointCount); s++) {
    XYChart.Series b = new XYChart.Series();
    b.getData().add(new XYChart.Data<Double, Double>(xVal[s], yVal[s] ));
    lineChart.getData().add(b);
  }


java javafx
1个回答
0
投票

正如您提到的,时间轴需要一个KeyFrame,所以让我们添加一个。

Timeline timeline = new Timeline();
timeline.getKeyFrames().add(new KeyFrame(Duration.seconds(1), e -> {
    //add one data point here   
}));

timeline.setCycleCount(Timeline.INDEFINITE);
timeline.playFromStart();

使用此代码,每秒调用一次KeyFrame的事件处理程序,因此,每次到达该点时,您都​​可以添加一个新的数据点。不需要for循环。

© www.soinside.com 2019 - 2024. All rights reserved.