Java 完成多次射击
我在JavaFX2.2中有一个简单的转换Java 完成多次射击,java,animation,event-handling,javafx-2,Java,Animation,Event Handling,Javafx 2,我在JavaFX2.2中有一个简单的转换 Duration onDuration = Duration.seconds(3); Duration offDuration = Duration.seconds(3); Duration transitionDuration = Duration.seconds(1); long start = System.nanoTime(); SequentialTransition sequentialTransi
Duration onDuration = Duration.seconds(3);
Duration offDuration = Duration.seconds(3);
Duration transitionDuration = Duration.seconds(1);
long start = System.nanoTime();
SequentialTransition sequentialTransition = new SequentialTransition();
FillTransition offOnTransition = new FillTransition(transitionDuration, rectangle, Color.RED, Color.BLUE);
offOnTransition.setDelay(offDuration);
offOnTransition.setOnFinished(event -> {
System.out.println("off " + java.time.Duration.ofNanos(System.nanoTime() - start));
});
FillTransition onOffTransition = new FillTransition(transitionDuration, rectangle, Color.BLUE, Color.RED);
onOffTransition.setDelay(onDuration);
onOffTransition.setOnFinished(event -> {
System.out.println("on " + java.time.Duration.ofNanos(System.nanoTime() - start));
});
sequentialTransition.getChildren().addAll(offOnTransition, onOffTransition);
sequentialTransition.setCycleCount(Animation.INDEFINITE);
sequentialTransition.play();
动画工作正常,但与关闭/打开转换相关的未完成事件在每个循环中触发多次(第一个循环除外)
当我将转换顺序切换到:
sequentialTransition.getChildren().addAll(onOffTransition, offOnTransition);
启动多个事件的是开/关转换。如何解决此问题?创建一个小型独立应用程序,该应用程序只复制问题,可以复制和粘贴以编译和运行,无需修改。编辑您的问题以包括mcve。根据测试结果测试mcve。如果mcve仍然生成some输出(在我看来,这就像JavaFX中的一个bug),那么在日志中记录一个bug报告,包括mcve。
sequentialTransition.getChildren().addAll(onOffTransition, offOnTransition);