Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javafx中序列化事件?_Java_Animation_Javafx - Fatal编程技术网

如何在javafx中序列化事件?

如何在javafx中序列化事件?,java,animation,javafx,Java,Animation,Javafx,我正在尝试创建一个JavaFX应用程序。作为其中的一部分,我必须画一个圆,如果按下一个按钮,动画就会发生,然后我必须画另一个圆。但第二个圆是在动画结束之前绘制的。我尝试了一段时间,但运气不好。任何暗示都将不胜感激 这里draw()将绘制初始圆,play()将制作动画,drawAfter()必须发生在play()之后,但它发生在play()完成之前 需要等到动画结束后再绘制第二个圆 为此,每个动画都有一个方法:setOnFinished() 在您的情况下,从按钮侦听器中删除drawAfter(()

我正在尝试创建一个JavaFX应用程序。作为其中的一部分,我必须画一个圆,如果按下一个按钮,动画就会发生,然后我必须画另一个圆。但第二个圆是在动画结束之前绘制的。我尝试了一段时间,但运气不好。任何暗示都将不胜感激

这里draw()将绘制初始圆,play()将制作动画,drawAfter()必须发生在play()之后,但它发生在play()完成之前


需要等到动画结束后再绘制第二个圆

为此,每个动画都有一个方法:
setOnFinished()

在您的情况下,从按钮侦听器中删除
drawAfter(()

bt.setOnAction(e -> {
        label.setText("Accepted");
        play();
    });
并将其添加到动画中:

private void play(){
    ...
    PathTransition pathTransition = new PathTransition();
    ...
    pathTransition.setOnFinished(e->drawAfter());
    pathTransition.play();
}
private void play(){
    ...
    PathTransition pathTransition = new PathTransition();
    ...
    pathTransition.setOnFinished(e->drawAfter());
    pathTransition.play();
}