Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.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
Java 完成多次射击_Java_Animation_Event Handling_Javafx 2 - Fatal编程技术网

Java 完成多次射击

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

我在JavaFX2.2中有一个简单的转换

    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);