小编Ern*_*P W的帖子

如何使方法调用等待动画完成

我想制作一个带有动画文本的通知窗口。单击按钮即可发送通知,并且动画将开始播放。我的问题是,当我在上一个动画完成之前再次单击按钮时,会同时执行两个动画。如何使“sendMessage()”的每个方法调用等待另一个方法完成?如果它有任何意义的话,我的程序中有多个节点调用 sendMessage() 方法,这与我的 MRE 不同,所以我想要某种带有消息的队列。这是我的 MRE:

public class AnimationTest extends Application {

  private final Label messageLabel = new Label();

  @Override
  public void start(Stage stage) throws IOException {

    VBox vBox = new VBox();
    vBox.setAlignment(Pos.CENTER);
    Scene scene = new Scene(vBox, 320, 240);
    vBox.getChildren().add(messageLabel);
    Button button = new Button();
    button.setOnAction(event -> sendMessage("Some animated text."));
    vBox.getChildren().add(button);
    stage.setScene(scene);
    stage.show();
  }

  private void sendMessage(String message) {
    final IntegerProperty i = new SimpleIntegerProperty(0);
    Timeline timeline = new Timeline();
    KeyFrame keyFrame = new KeyFrame(
        Duration.millis(40),
        event -> { …
Run Code Online (Sandbox Code Playgroud)

java animation javafx

1
推荐指数
1
解决办法
246
查看次数

标签 统计

animation ×1

java ×1

javafx ×1