我想为按钮制作动画。我要使其单击后更改其位置。我写了这样的代码,但是不起作用。在这种情况下,控制台中不会出现任何错误。该按钮只是不响应按下。

double stopPosition = 100;
KeyValue kk2 = new KeyValue(btn.layoutXProperty(), stopPosition, Interpolator.LINEAR);
KeyFrame kk = new KeyFrame(Duration.millis(5000),kk2);
Timeline timeline = new Timeline();
timeline.getKeyFrames().add(kk);
timeline.setCycleCount(1);

        btn.setOnAction(new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent event) {
                System.out.println("Hello World!");
                timeline.play();
            }
        });


我究竟做错了什么?

最佳答案

我假设您将按钮放置在某种布局中,以便进行定位。如果修改layoutX,则意味着在下一个布局传递期间,Button会被父布局简单地放回其“所属位置”。

如果要移动Button,则应选择其他布局作为父级,或改用translateX属性。 translateXButton相对于父版式放置它的位置(layoutX)移动。

关于java - 如何使用时间轴为按钮制作动画?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53190545/

10-10 19:39