JavaFX8时间线播放问题

时间:2015-12-17 12:13:36

标签: javafx-8

我在我的应用程序中使用多个时间轴作为

Timeline timeLine1 = new Timeline(new KeyFrame(Duration.seconds(1), actionEvent -> {
        System.out.println("Enter in timer for check and playcontent");
        MaintainPlaybackArray.checkAndPlayContent();
    }));
    timeLine1.setCycleCount(Timeline.INDEFINITE);
    timeLine1.play();

每秒会播放

Timeline timeLine2 = new Timeline(new KeyFrame(Duration.seconds(5), actionEvent -> {
        System.out.println("Enter in timer");
        getSchedule();
        checkSchedule();
    }));
    System.out.println("after timer");
    timeLine2.setCycleCount(Timeline.INDEFINITE);
    timeLine2.play();

每5秒调用一次

Timeline timeLine3 = new Timeline(new KeyFrame(Duration.seconds(10), actionEvent -> {
        System.out.println("in timer");
        String currentChecksum = Util.md5(getScheduleJsonArray().toJSONString());
        if (currentChecksum != null && !currentChecksum.equalsIgnoreCase(checksum)) {
            System.out.println("Schedule changed");
            isScheduleChanged = true;
            checksum = currentChecksum;
        }
    }));
    System.out.println("after timer");
    timeLine3.setCycleCount(Timeline.INDEFINITE);
    timeLine3.play();

将在每10秒后执行一次。

问题

  

当我在启动所有时间线后执行应用程序时,它无法以同步方式播放。

     

即:   timLine1将不执行8秒,然后突然一次执行8次。    timeline2将在任何时间执行,如8秒后或12秒后两次。   timeLine3将在12秒或15秒后执行。

所以,请帮助我以同步的方式执行代码。 有什么我可以用而不是时间轴吗?

1 个答案:

答案 0 :(得分:0)

根据您的需要使用ParallelTransitionSequentialTransition