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