gpt4 book ai didi

java - 动画结束时的两个 Action (setOnFinished)

转载 作者:行者123 更新时间:2023-12-01 09:35:17 25 4
gpt4 key购买 nike

动画完成后,我一直在尝试对同一个矩形执行两种不同的操作:矩形必须更改颜色,并且其中的文本必须变得可见。但程序只执行第二个事件,忽略第一个事件(即使我切换了它们)。我怎样才能让它发挥作用?

public void open() {
RotateTransition trans = new RotateTransition(Duration.seconds(1), rec);
trans.setToAngle(180);
trans.setAxis(Rotate.Y_AXIS);
trans.setOnFinished (event -> tex.setVisible(true));
trans.setOnFinished (event -> rec.setFill(Color.WHITE));
trans.play();

最佳答案

或者:

  1. 只需将它们放在同一个事件处理程序中即可:

    trans.setOnFinished(event -> {
    text.setVisible(true);
    rec.setFill(Color.WHITE);
    });
  2. 或将更改监听器添加到 statusProperty:

    trans.statusProperty().addListener((obs, oldStatus, newStatus) -> {
    if (newStatus == Animation.Status.STOPPED) {
    text.setVisible(true);
    }
    });

    trans.statusProperty().addListener((obs, oldStatus, newStatus) -> {
    if (newStatus == Animation.Status.STOPPED) {
    rec.setFill(Color.WHITE);
    }
    });

关于java - 动画结束时的两个 Action (setOnFinished),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39029900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com