在时间轴运行时让我的代码等待

时间:2017-05-21 19:06:37

标签: java javafx

我正在制作一个二十一点游戏,我创建了一个时间线,每隔1秒向经销商发牌,以模拟发卡。问题是当这个时间轴运行时,我的其余代码继续运行。我需要我的程序等到时间线完全继续之前。

这是我的时间表:

        Timeline timeline = new Timeline();
    KeyFrame keyFrame = new KeyFrame(Duration.millis(1000), event -> {
        if(dealer.getScore() >= 17 && (dealer.getScore() >= player.getScore() || dealer.getScore() > 21)) {
            timeline.stop();
        } else {
            newCard(dealer, mainDeck.deal(), false);
            System.out.println("Running Here!");
            LBLDeck.setText(String.valueOf(mainDeck.getRemaingCards()) + " cards remaining");
        }
    });
    timeline.getKeyFrames().add(keyFrame);
    timeline.setCycleCount(Animation.INDEFINITE);
    timeline.play();

1 个答案:

答案 0 :(得分:0)

尝试使用CountDownLatch - 请参阅此处的文档:https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/CountDownLatch.html